Anonymous
Ну ок. Будем сомтреть в полных доках)
Anonymous
Я ожидал какогонить --autostart )
🏳️ Phil
Некстати. Я тут давеча спрашивал - типа куда шаренное окружение делось, если user defined network. Так вот я или проглядел, или наконец-то в доку добавили: https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/ One feature that user-defined networks do not support that you can do with --link is sharing environmental variables between containers. However, you can use other mechanisms such as volumes to share environment variables between containers in a more controlled way. Почему-то я уверен, что на эти грабли будут все прыгать
Vitalii
Привет группе! Подскажите, как создать контейнер в котором будет только код приложения? Идея в том, чтобы создать контейнер с кодом (назовем его app) и через volumes_from подключить его к контейнеру nginx & php-fpm. Для хранения кода мною был выбран контейнер потому, что стостояние его файловой системы можно закоммитить и отправить на прод. Таким образом я смогу собирать приложения на дев машине, и уже готовый контейнер с кодом поставлять на прод. Есть альтернативы моему варианту?
Vitalii
чёт как-то извращённо. чем гит не подходит?
в гите лежат сорцы, а между тем, что лежит в гите и тем что должно быть на продакшене есть процесс сборки (композер, конфиги подправить и тд). В итоге у моего проекта должно быть 2 состояия 1. Сырые сорцы в git 2. Собранное приложение в отдельном контейнере и именно готовый контейнер идет на продакшен.
Vitalii
Я неделю с докером. Могу чего-то не знать. Но цель у моего вопроса одна - на продакшен должен приходить готовый проект. Чтобы никаких компиляций и прочего делать не нужно было.
Vitalii
коллега. named volume жи
как волюм с кодом из дев сервера перенести на сервер продакшена?
Sergei
Свой registry поднять
Vitalii
Можно код в один контейнер с php-fpm завернуть
думал, но код нужен двум контейнерам одновременно: nginx & php-fpm и может еще каким-то нужен будет. Есть смысл вынести в отдельный контейнер в котором будет только код.
Aleksey
@voskobovich volume_from
Sergei
+
Vitalii
@voskobovich volume_from
продолжай... :)
Aleksey
не буду.
Aleksey
это слова для гугла
Vitalii
именно это я и хочу сделать. Создать контейнер с кодом, и подключить его через volume_from к другим
Vitalii
вопрос - как сделать контейнер без процесса, а только с кодом?
Aleksey
наличие процесса в контейнере не обязательно
Vitalii
либо другие простые варианты от вас :)
Sergei
Баш скрипт с бесконечным циклом, но я этого не говорил
Aleksey
объяви папку с кодом при сборке как VoLUME
Aleksey
а потом сделай volume_from
Sergei
Тебе этого не нужно)
Aleksey
контейнер тебе притащится
Aleksey
примонтируется
Aleksey
и завершится
Aleksey
пожтому я и сказал это слово оно для гугла
Aleksey
ты ужедостаочно далеко провинулся в саом стоятельной работе, что бы сейчас бросать всё на волю сообщества :)
Vitalii
я день убил на поиск решения :(
Vitalii
причем я его сам придумал и не уверен что оно правильное
Aleksey
эт оправильное решение
Aleksey
и каноническое
Vitalii
не спорю, выходные супер провел :)
Aleksey
добавть в слова для поиска docker-compose
Aleksey
и у тя всё получится
Vitalii
у меня уже docker-compose остался этот штрих
Vitalii
вся инфтрастурктура прописана.
Vitalii
Так, выше писали что не обязательно чтобы контейнер был запущен чтобы иметь доступ к его ФС. Это инфа 100%?
Aleksey
не слушай фила
Aleksey
он тебе сейчас насоветует...
Vitalii
вечный цикл кажется костылем жестким
Aleksey
при сборке клади код в контейнер
Aleksey
этот контейнер клади в режистри
Aleksey
через докеркомпоуз тящи в бой
Vitalii
это все супер, так и хочу.
Aleksey
делай
Aleksey
нет препятствий на пути
Vitalii
Сейчас при сборке контейнера app код просто копируется через COPY ./source /app
Vitalii
но контейнер не запускается, оно и логично - в нем нет приложения
Vitalii
как писать и юзать данные из незапущенного контейнера? можно ли так вообще?
Aleksey
а ему и не надо...
Aleksey
у тя один контейнер с fpm
Vitalii
о, то есть главное чтобы контейнер с данными был в системе.
Aleksey
в него прокидывается volume_from контейнер с кодом
Vitalii
так?
Vitalii
да
Aleksey
а в нжинкс он же
Vitalii
да
Vitalii
йо... то есть контейнер не обязательно запускать чтобы ображаться к его ФС
Vitalii
сча попробую
Vitalii
тут еще вопрос созрел. А чем volume отличается от простой папки на хост машине? ./host_folder:/app volume_name:/app
Vitalii
на первый взгляд ничего особенного в них нет. Но чую что какой-то профит есть, причем не малый
🏳️ Phil
этот контейнер клади в режистри
чо? этл ты сейчас организовать помойку советуешь
Vitalii
это депрекейтед жи
ссылку на депрекейтед плиз
Vitalii
а вот тут сказано, что надо команду все же прокинуть https://github.com/docker/compose/issues/1306
Vitalii
хм
Aleksey
+1
Vitalii
так как мы решили выше не получилось. В контейнере php в нужной папке было пусто. Сейчас команду добавлю, попробую
Vitalii
ха, контейнеры с этим хаком убивать надо принудительно Stopping nginx ... done Stopping php ... done Stopping db ... done Stopping app ... Stopping memcache ... done Killing app ... done
Vitalii
так, кто-то контировал волюму через volumes_from и готов подсказать где моя ошибка?
Evgeny
О боги, почему все время с пхп возникает тема "как бы черезжопнее сделать". Почему нельзя нормально?
Evgeny
Один контейнер с нгинксом. Один с пхпфпм и вшитым кодом