Как я могу определить дополнительные сервисы в проекте Divio Cloud, используя docker-compose?
Я определил дополнительную услугу в моем docker-compose.yml
файл в моем проекте Divio Cloud.
Локально, это работает так же, как и ожидалось. Как и по умолчанию web
а также db
контейнеры, я получаю свой новый контейнер.
Однако когда я передаю эту конфигурацию на сервер Divio Cloud, она явно не работает вообще, и я не могу подключиться к пользовательскому контейнеру.
1 ответ
Короче
Если вам нужен дополнительный сервис в вашем проекте, вы должны настроить его в облаке Divio, а не в docker-compose.yml
, docker-compose.yml
используется только для локальных целей разработки и игнорируется при развертывании.
Чем дольше ответ
В проектах Divio Cloud docker-compose.yml
используется для организации всех сервисов и контейнеров только в локальной среде разработки.
В реальной среде хостинга он вообще не используется и просто игнорируется. Локально, ваш проект имеет все контейнеры, определенные в docker-compose.yml
файл - web
, db
и все, что вы определяете.
Когда ваш проект развернут в среде хостинга, только web
Контейнер используется.
Другие контейнеры для удобства используются локально для репликации сервисов, которые являются частью инфраструктуры.
Например, локально у вас есть db
контейнер с базой данных Postgres. В облачной инфраструктуре web
Контейнер подключается к кластеру Postgres.
Точно так же, если у вас есть Celery в вашем облачном проекте, он будет использовать службы поддержки, предоставляемые как часть облачной инфраструктуры, но когда вы настраиваете тот же проект локально, он будет создавать их в новых контейнерах Docker.
Больше информации на docker-compose.yml
ссылка в Руководстве разработчика Divio Cloud.
Примечание: я являюсь членом команды Divio. Этот вопрос мы регулярно видим через наши каналы поддержки.