задача создать образ для того что бы его быстро разворачивать на разных серверах в случае если он отключится. Certbot + Nginx + php-fpm + PHP приложение(внутри реализована база на SQLite). В nginx, php приложении есть настройки(пароль, логин, переменные для работы приложения). Так вот вопрос как это всё собрать в единый образ без использования volume, исходя из best practice?
Не надо это собирать в единый образ. Это анти бест пректис. Один сервис - один образ - один контейнер
Хорошо, т.е. для быстрого развертывания необходимо создать 4 образа загрузить их в свой хаб, а на сервер скидывать докер композ с переменными окружения? А как быть с раздельными директориями ведь для nginx, php, certbot, необходимы пересекающиеся директории?
Необходимы, хороший вопрос. Да, придётся использовать вольюм. Чтобы шарить между компонентами файлы
Т.е. в production ready проектах тоже используют volume?
Увы, без них не обойтись
а как же это?
Ну, так не делают. Ты те же артефакты можешь без динда собирать. Тупо в пайплайне запустить образ с yarn и сохранить артефакты средствами гитлаба
А здесь ты в пайплайне используешь образ с докер клиентом
я пробовал так сделать но докер лезет в интернеты за образом, а мне не надо этого, зачем если образ есть локально. можно его приучить смотреть только локально?
Гитлаб раннер тоже можно приучить образ брать локально
Обсуждают сегодня