Изначально у нас был аналогичный подход, но потом мы «упростили» настройку для тех, кто о докере знает только как его установить. Например верстальщика устраивают дефолтные значения, так зачем ему что-то править (хотя никто не ограничивает). Достаточно запустить ddk compose и заведется все, что требуется для работы.
Кстати, в post-install скриптах делается намного больше работы. В статье, действительно, пример только для конфигурации пакета, но на деле при выполнении команды project get по нужным путям раскладываются конфиги балансировщика, веб-сервера, накатывается дамп. Все это происходит без участия разработчика.
Основная решаемая задача — простая настройка окружения без необходимости знать о всех зависимостях. Если мне понадобилось поработать с проектом X, я могу с минимальными затратами получить полностью рабочую копию. При этом проект Y, с которым я работал пять минут назад, также продолжает работать. Прицел на то, чтобы одной командой настраивать необходимое в данный момент окружение, с учетом нескольких проектов.
Простое копирование конфигурационных файлов затрудняет их модификацию в дальнейшем. Если понадобится внести изменения в какой-либо контейнер, придется пройтись по всем проектам, которые его используют.
В репе проекта хранится главный docker-compose.yml
Я правильно поннимаю, что docker-compose запускает сервисы на основе этого файла? Если так, имеется ли воможность поднять окружение для нескольких проектов одновременно?
Не космическое конечно, но хватает. Даже при малом количестве неудобно было бы, переключаясь между проектами, тушить одно окружение и поднимать другое. Сейчас это выглядит также, как если бы мы запускали docker-compose up с несколькими конфигурационными файлами. Т.к. сервисы в различных проектах во многом пересекаются, пришлось бы дублировать их в каждом docker-compose файле. Сейчас общая часть вынесена в пакет, а нюансы указываются в конфиге проекта.
Простое копирование конфигурационных файлов затрудняет их модификацию в дальнейшем. Если понадобится внести изменения в какой-либо контейнер, придется пройтись по всем проектам, которые его используют.
Мы от подобного старались уйти, так как параллельная работа нескольких проектов была для нас важным пунктом.
Я правильно поннимаю, что docker-compose запускает сервисы на основе этого файла? Если так, имеется ли воможность поднять окружение для нескольких проектов одновременно?