Как я могу определить дополнительные сервисы в проекте 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. Этот вопрос мы регулярно видим через наши каналы поддержки.

Другие вопросы по тегам