Я контейнеризую веб-приложение, которое имеет зависимости от контейнера.Конструкция зависимостей докеров для конфигурации контейнеров и запуска
Контейнеры перечислены здесь в их иждивенческом порядке, причем последний зависит от первого.
Существует контейнер mysql, который компилирует mysql, устанавливает его и настраивает.
Существует контейнер learnintouch, который устанавливает файлы и семена пользовательских данных продукта в контейнер mysql.
Существует контейнер learnintouch.com, который устанавливает файлы и семена пользовательских данных веб-сайта в контейнер mysql.
Посещение данных является частью установки приложения и должно выполняться только один раз в течение срока службы приложения.
Данные посева довольно длинные, очень длинные на самом деле.
Было бы неплохо, если бы приложение было создано И начато файлом docker-compose.yml, сидящим в каталоге learnintouch.com.
Сначала я надеялся иметь только три контейнера, все иждивенцы, с каждым зависимым контейнером, ожидая, что его зависимость завершит его посев данных, прежде чем запустить его и, наконец, запустить приложение.
Теперь я вижу, что этого будет трудно достичь, если не невозможно. Трудно дождаться завершения загрузки докеры, чтобы запустить службу, но тем более, чтобы проверить, завершилось ли поселение данных.
Я считаю, что один способ состоит из двух ветвей в дереве зависимостей контейнеров, один для установки приложения, выполняющего посев данных, а другой - только для запуска приложения.
Это обычная практика?
Когда вы говорите «у вас может быть несколько файлов для компоновки», вы имеете в виду несколько файлов docker-compose.yml? Я думал, что у меня может быть только один каталог. У меня есть один контейнер Docker для одного каталога. Интересно, как я мог запускать несколько файлов Docker Compose. – Stephane
Вы можете запустить 'docker-compose -f docker-compose.dev.yml up', чтобы запустить файл вашей docker-compose.Чтобы избежать конфликтов при запуске нескольких композиций в одной и той же среде, вы также захотите изменить проект с помощью 'docker-compose -p dev -f docker-compose.dev.yml up'. Вот если все в одном каталоге. Вы всегда можете организовать различные каталоги. – BMitch
Хорошо, было бы интересно увидеть один пример вашего проекта, часть о контейнере, слушающая его зависимость, поступающая в онлайн-режиме, и, в свою очередь, очень аккуратная. Затем я попытаюсь прочитать о том, как подключиться к микросервисам. – Stephane