A.D.🈴
Как такое может быть?
A.D.🈴
Так, разобрался.
A.D.🈴
Оно сертификат устанавливает ваще в корень-корень куда-то. :)
A.D.🈴
I have no name!@985715ca558c:/var/www/php$ mkdir /.symfony mkdir: cannot create directory '/.symfony': Permission denied
A.D.🈴
если руками ее создавать - то такая же история.
A.D.🈴
а судо у меня нет, :) надо устанавливать... а еще пароль как-то узнать к руту. :) Че ж так сложно-то..
George
Переписываешь скрипт, который при старте контейнера
George
Сам контейнер от рута
George
А в скрипте делаешь переход в пользователя, которого ты передал при создании контейнера (не образа!)
George
Типа docker run -e USER_ID=$(id -u) my_image
A.D.🈴
Так у меня и прописано. :) Ну я через докер-компоуз работаю. Короче, у юзера нет хоум диры, отсюда и косяк. Пойду погуглю, как хоум организовать.
Aleksey
Так у меня и прописано. :) Ну я через докер-компоуз работаю. Короче, у юзера нет хоум диры, отсюда и косяк. Пойду погуглю, как хоум организовать.
а как его создавал? пропиши при добавлении юзера команду которая все запилит, там нюансы у комманд добавления юзера есть
Aleksey
Похоже вообще не создавал
Тогда заведи в Докерфайле создание юзера так же как в линухе сделал бы, только с UID/GID аккуратнее если примаунтишь внешнюю папку то все проверки по ID если будет отличаться от того, под каким запускаешь, колдунство не сработает
George
не механизмом докера юзера переключать (флаг -u), а самому
Aleksey
указываешь что тебе доставить, что изменить и юзера заодно слздаешь
Anonymous
Суть в том,что образ не должен знать с каким юзером ему работать надо будет
Aleksey
RUN WORKDIR
A.D.🈴
Добавил в Докерфайл вот это:
A.D.🈴
RUN useradd -rm -d /home/deralsem -s /bin/bash -g root -G sudo -u 1000 deralsem USER deralsem WORKDIR /home/deralsem
A.D.🈴
Ща создастся - посмотрю, че получится.
A.D.🈴
уже лучше.
A.D.🈴
A.D.🈴
по крайней мере, запускается с таким же юзером.
A.D.🈴
сертификат можно из-под рута установить, ща остальное попробую.
A.D.🈴
RUN useradd -rm -d /home/deralsem -s /bin/bash -g root -G sudo -u 1000 deralsem USER deralsem WORKDIR /home/deralsem
Так, эта часть заработала, всё нормально. Теперь, правда, в рута попасть не могу. :) Но, в принципе, пока он нужен только для установки сертификата, возможно, обойдусь без него. Ща в докерфайл строчку добавлю, посмотрю, че будет.
A.D.🈴
ты можешь сертификат передавать через ENV
С хоста? Ну я щас уже вроде добавил судо в контейнер... :) Попробую.
A.D.🈴
Обошелся без судо. ПОка вроде рут нужен только для установки сертификата, докер-компоуз -ю рут, устанавливаем серт, а дальше уже работаем под обычным юзером. Спасибо всем за помощь.
A.D.🈴
ты с symfony serve пытаешься в докере работать?
Я уже работаю. Ну это для локальной разработки, конечно, в первую очередь
A.D.🈴
В прод буду через нжинкс выезжать.
A.D.🈴
*планирую :)
Anonymous
Я уже работаю. Ну это для локальной разработки, конечно, в первую очередь
предупредить хотел что это не для прода ) а то некоторые не читают (
A.D.🈴
Че-т симфони постгрес не цепляет, хотя адмайнер вроде видел БД.
A.D.🈴
A.D.🈴
A.D.🈴
DATABASE_URL="postgresql://main:main@localhost:5432/main?serverVersion=13&charset=utf8"
A.D.🈴
А нет, адмайнер тоже не видит. Че-т сломалось.
George
почыеу локалхост
A.D.🈴
почыеу локалхост
Да уже разобрался, надо ип контейнера указывать. Но это че-т... такое себе. :)
A.D.🈴
О как. Спасибо, не знал.
Anonymous
О как. Спасибо, не знал.
это чуть ли не основная фича композа из-за которой я его использую )
George
Именно
George
Знай свои инструменты !
A.D.🈴
Учусь. :)
A.D.🈴
Имя сервиса из докер компоуз
Интересно, адмайнер по имени сервиса заходит. А вот в PHPStorme коннект не получается:
Vitaliy
Это же ide которая вне контейнера?
George
Это же ide которая вне контейнера?
присоединюсь к вопросу
A.D.🈴
Это же ide которая вне контейнера?
Да. Но адмайнер в браузере, который тоже вне контейнера. :)
Vitaliy
Ещё раз,у тебя адмайнер не в контейнере запущен, и он коннектится по имени сервиса в докере, а аналогичная схема с пхпсторм не работает? Мне почему-то казалось что адмайнер у тебя тоже в докере
George
Да. Но адмайнер в браузере, который тоже вне контейнера. :)
тогда пробрасывать порт на хост из контйенера
George
и локалхост: порт коннектиться
Anonymous
или каким-нибудь https://hub.docker.com/r/itsziget/hosts-gen/ генерить /etc/hosts
George
Опять венгры, что ли ?
A.D.🈴
Но оно так не работает. :(
George
А зачем постгрес пересобираешь ?
A.D.🈴
А зачем постгрес пересобираешь ?
Вообще, не пересобираю, первоначально образ был, а потом я какие-то опции пробовал, потом че-т стирал, че-т дополнял, щас в Докерфайле вот так:
A.D.🈴
Я, конечно, щас айпишник докера прописал, все работает. Но че-т это не самый правильный способ. :)
George
Смысла так делать нет
A.D.🈴
Смысла так делать нет
а как конфиг закинуть в контейнер?
George
Берёшь оф образ и тупо конфиг через bind mount подкладываешь
A.D.🈴
А, логично.
A.D.🈴
На самом деле, в конфиге только одна директора - listen address "*"
George
Либо - если опций немного - их все можно передать через аргументы команды
A.D.🈴
Но че-т не работает все равно.
George
Ну, мы просто в докер компоуз это описали
George
Там был нюанс только с [] синтаксисом и разбивкой по элементам