ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
Макс здорово Да нет я разверну короче на серваки на Северной версии Ubuntu Если не ошибаюсь 118 Да вот docker этом графике если допустил контейнер вот а подключаюсь естественно своих уст вытачки на винде которое нельзя. Думаешь нужно что-то еще сделать дополнительный номер на клинской Тачки
Joker
Ахах
Joker
👍
Ivan
cluster_core.1.yr9x465hfnt0smaagbtv03uxs как сделать чтобы имя хоста было: cluster_core_1? Может создать изолированную сеть...
mrgreyves
Всем здрасти! чет читаю документацию по docker-compose и не могу разобраться. Можно ли через коммандную строку передать переменную в docker-compose.yml???
mrgreyves
имею ввиду что то вида docker-compose up -d -e var=value
mrgreyves
про .env файлик знаю)
Sergey
имею ввиду что то вида docker-compose up -d -e var=value
почему в самом файле не прописать переменную?
mrgreyves
вот смотри есть image:${tag} и можно как нибудь передать значения tag через коммандную строку)
mrgreyves
почему в самом файле не прописать переменную?
можно, умею) хочу узнать можно ли так)
Sergey
можно, умею) хочу узнать можно ли так)
посмотри у команды up есть такое или нет и все)
mrgreyves
а пофиг сильно препрет буду что надо просто скидывать в env))
Sergey
просто для чего это понадобилось ? если разделить прод от дев среды то разные файлы подтягивают и все
Sergey
по-моему так
mrgreyves
ну да
Evgeniy
господа как реализовать такое поднимается контейнер композа, устанавливает зависимости после поднимается котенер с гитом и тоже отрабатывает свою логику
Evgeniy
т.е. нужно дождаться пока композ выполнит своб работу, потом уже запускать гит
Konstantin
вот смотри есть image:${tag} и можно как нибудь передать значения tag через коммандную строку)
Env substitution происходит из переменных сессии. просто сделай export передо docker-compose либо вместе с docker-compose
Evgeniy
а как правильно?
Konstantin
а как правильно?
собирать всё в образ при билде, а не при запуске
Evgeniy
но при билде еще не примонтированы необходимые внешние зависимости
Konstantin
это какое-то дев окружение?
Evgeniy
в частности volume
Evgeniy
да, дома пытасюь подружиться с докером
Konstantin
у тебя есть исходный код, есть зависимости: 1, ставишь зависимости 2. докидываешь код
Konstantin
всё в Dockerfile
Evgeniy
именно так
Konstantin
вообще на тему docker multistage php composer гугли
Evgeniy
но исходный код храниться "снаружи" контейнера
Konstantin
а зачем?
Evgeniy
и если я на этапе билда подтягиваю все зависимости, то после запуска контейнера затираю всЁ своей "наружней" пустой директорией
Evgeniy
исходники нужны в разных контейнерах, и + удобство, когда не надо лезть в контейнер, чтобы поменять что-то в коде
Konstantin
любые изменения кода = пересборка образа, править внутри уже не trueway
Evgeniy
вообще на тему docker multistage php composer гугли
гуглил, использую но это немного не то
Evgeniy
мне нужно именно дождаться завершения работы одного котейнера, потом запускать другой
Evgeniy
любые изменения кода = пересборка образа, править внутри уже не trueway
почему? вы же БД не рестартуете после каждого INSERT или UPDATE
Konstantin
нет такого механизма в докере, можно накостылять энтрипоинт, который будет ожидать
Konstantin
бд стейтфул же, там данные не в образе хранятся
Evgeniy
допустим у вас php-fpm для него php файлы это тоже данные
Konstantin
давай без "нас")
Konstantin
допустим у вас php-fpm для него php файлы это тоже данные
нет, это то что требуется для запуска\работы контейнера. Т.е. стейтлес
Evgeniy
тут не соглашусь
Evgeniy
php-fpm и без исходников стартанет
Evgeniy
но вот обрабатывать ему будет нечего, как и пустая БД, потом и там и там уже появляются данные
Evgeniy
ну и очень удобно в случае исходников, если они торчат наружу
Konstantin
php-fpm и без исходников стартанет
не важно какой там код и есть ли он, он не изменяется во время жизни контейнера, что не скажешь про бд
Konstantin
это всё ещё как-то можно использовать и костылять пока ты локально просто используешь как песочницу, не более. Но проще же одинаково юзать локально и на сервере
Evgeniy
так я и стараюсь сразу все делать как на серваке будет
Evgeniy
без закрывания глаз "да этож дома и так сойдет"
Evgeniy
все равно, даже на серваке удобнее когда исходники снаружи, это удобно
Evgeniy
докер же для удобства создан, и тут так же, удобнее когда исходники снаружи )
Evgeniy
имхо конечно
Evgeniy
ну и каждый раз ждать по полчаса пока все в контейнере утрасется при билде
Konstantin
нет, там секунды
Konstantin
правильно слои организовать и будет всё быстро, первый раз разве что долгий
Evgeniy
не получаются секунды, у меня если каждый раз директория с зависимости пустая )
Evgeniy
я понял о чем вы, volumes
Evgeniy
прикол в том что они тоже снаружи торчат
Evgeniy
спасибо за ответы и советы, буду копать дальше, костыли лепить не хочется, на крайний случай буду запускать по-очереди опять же непонятно как изменения при билде не затереть монтированием внешней директории даже в виде volumes
Evgeniy
разве только билдить в одной директории, а в энтрипоинте прописать линкование или перемещение файлов в нужную директорию
Александр
докер же для удобства создан, и тут так же, удобнее когда исходники снаружи )
Как ты будешь горизонтально масштабировать приложение? На всех серверах будешь исходники реплицировать? Пока устанавливаются зависимости, приложение будет лежать? Не нужно на проде хранить исходники снаружи, чтобы не стрелять себе по ногам
Александр
Для разработки локально - пожалуйста, но там и не нужна такая автоматизация. Можно руками скачать гит и стянуть зависимости, а проект прокинуть в контейнер
std::slavik
Исходники снаружи
Dmitry
Че за срач, господа?)
Konstantin
Че за срач, господа?)
Придумываем бестпрактис для докера в 2019
std::slavik
Тоже с этим вопрос сейчас)
Dmitry
Слушайте Константина и все будет хорошо
Evgeniy
полуночный срач "где исходники хранит"
Александр
Надеюсь, ты бд в проде не собрался в докере держать)
Dmitry
- Стадия Билд в одном докерфайле: готовим среду, собираем че надо, создаем артефакт. - Стадия деплой: деплоим чисто из артефакта бинарные вещи
Александр
Ой, зря я это сказал)