manefesto
и постиг дзен
Alexander
попробую, спасибо 🙂
Alexander
то есть энтрипоинт срабатывает после всех мэпов вольюмов в композе?
manefesto
да, причем ты можешь его переопределить на самом деле
manefesto
но сборка и мап волюма не совместимы
После сборки будет волюм подключен
manefesto
то есть он будет подключен не во время сборки, а во время запуска контейнера
Alexander
да я при таком раскладе просто выкину ONBUILD директивы
manefesto
а что за onbuild
manefesto
когда такое появилось
Alexander
а что за onbuild
https://docs.docker.com/engine/reference/builder/#onbuild
Alexander
у наследников этого образа будут запускаться эти триггеры
manefesto
а, понял
Alexander
причём только у наследников, если собрать исключетльно этот образ - всё впустую
Alexander
но можно через мультистейджинг
manefesto
мультистейдж интересная тема
помогает не раздувать образы
George
Чо то костыли какие-то опять
manefesto
какие ?
manefesto
миграция в энтрипоинте ?
manefesto
У меня есть такой контейнер. Типа дефолтный энтрипоинт, а для миграций отдельный сервис в компоузе с энтрипоинтом где накатываются миграции
George
manefesto
depens_on, но там миграции по факту быстро отрабатывают. Есть вероятность что не успеют. Но разработчику не критично
manefesto
Без всяких wait
Alexander
@manefesto спасибо за идею с энтрипоинтом, всё работает
Tony
Всем привет. Как деплоить образ на AWS не публикуя образ в публичном регистре?
George
George
Только креденшиалс надо как-то ещё зашиппить
Andrey
Tony
Есть статья https://habr.com/ru/post/310460 упоминается "не обязательно хранить образ в публичном регистре" вот и интересно, как тогда?)
George
George
Типа докер хаб - под паролем, или в том же гитлабовском регистри
Tony
Ага, понял. Спасибо!
Slach
B
Вышло?
Да, тут прикольнее) спасибо еще раз 👍
Vyaches
Народ, чтото туплю
Подскажите плз как запустить docker контейнер в фоне?
-d
George
Vyaches
ага) нашел, спасчибо)
Vyaches
Ну типа да)
А потом чтоб логи глянуть - docker logs и ключ контейнера же?
George
George
dicker logs --tail 100 -f
George
Чтоб поток логов получить, но не с начала работы контейнера
Vyaches
Большое спасибо!
tfhx8
Внутри докера скрипт пытается сделать запись, но не может, так как эта дира куда идет запись опдключется через volumes и права на ней главной машины. А внутри докера пользователь другой. Как обычно правильно решать эту проблему? Можно из вне дать полный доступ, но это как то не то решение
NM
Sergey
снаружи сделать chown на нужного пользователя по id
NM
Sergey
Sergey
или откуда угодно с явным указанием id
tfhx8
Sergey
А как же "А внутри докера пользователь другой"?
Sergey
Рут всегда с id=0
tfhx8
хотя со врал, там вебсервер работатет из под www-data
kSandr
нужно использовать не бинды а волумы, в другом чатике это уже сказали, либо выставить соответствующие права на папку с хоста , либо еще можно использовать опцию
--pid
, ну или запускаться от рута, да
я обычно просто перед запуском создаю папку с соответствующими правами , или использую волумы
tfhx8
kSandr
kSandr
kSandr
а у докера, есть специальная сущность volume для хранения данных и предпочтительней использовать ее
tfhx8
kSandr
поидее она должна наследовать права диры
tfhx8
поидее она должна наследовать права диры
оно будет работать, если я права диры поменяю, но я хочу чтобы вообще все на автомате, чтоб руками не лазить. Просто при сборке компосом, чтобы все работатло
kSandr
а через компос ее как то можно указывать?
services:
servicename:
image: image
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- data:/var/www/html/public
- logs:/var/www/html/logs
volumes:
data:
logs:
kSandr
объявляешь в композе волумы, и указываешь их при пробросе
bla
- blabla
- bla bla bla
потом волумы
volumes:
blablala
asdasd
kSandr
у тебя композ. в котором описывается стенд.
сперва у тебя описываются сервисы ...
services:
blas: blasla
...
asdasd
потом волумы
volumes:
lassa: asdas
...
asdasd: asd
так-же ты можешь описать и прочие вещи , такие как сети
kSandr
волумы и сервисы это объекты
kSandr
их нужно объявить, что-бы композ при старте знал что их нужно создать
kSandr
а то что ты пишешь в разделе сервисами, это ты указываешь что нужно воспользоваться вон тем волумом, который там объявлен
tfhx8
kSandr
так-же ты можешь насоздавать сетей
kSandr
физически они лежат тут ...
/var/lib/docker/volumes
tfhx8
тоесть если я из вне изменения в файлах сделаю, они в контейнере не отобразятся?
kSandr
отобразятся, но так делать не надо
kSandr
т.е. если задротишь на то, что-бы делать все правильно, стильно, модно и молодежно - то так делать не нужно )
kSandr
тогда сразу лучше права на папку сделай )