0

docker-compose.yml在 Divio Cloud 项目的文件中定义了一项附加服务。

在本地,它按预期工作。除了默认容器webdb容器之外,我还得到了我的新容器。

但是,当我将此配置推送到 Divio Cloud 服务器时,它显然根本不起作用,并且我无法连接到自定义容器。

4

1 回答 1

0

简而言之

如果您的项目需要额外的服务,您应该在 Divio Cloud 上配置它,而不是在docker-compose.yml. docker-compose.yml仅用于本地开发目的,在部署中被忽略。

更长的答案

在 Divio Cloud 项目中,docker-compose.yml用于编排本地开发环境中的所有服务和容器。

在实际的托管环境中,根本不用,直接忽略。在本地,您的项目具有docker-compose.yml文件 -中定义的所有容器webdb以及您定义的任何其他内容。

当您的项目部署在托管环境中时,仅使用web容器。

为了方便起见,其他容器在本地使用,以复制作为基础架构一部分的服务。

例如,在本地,您有一个db运行 Postgres 数据库的容器。在云基础设施中,web容器连接到 Postgres 集群。

同样,如果您的云项目中有 Celery,它将使用作为云基础设施的一部分提供的支持服务,但是当您在本地设置相同的项目时,它将在新的 Docker 容器中构建它们。

更多信息请docker-compose.yml参阅 Divio Cloud 开发人员手册


注意:我是 Divio 团队的成员。这个问题是我们通过我们的支持渠道经常看到的一个问题。

于 2018-10-29T16:02:46.693 回答