我在Divio Cloud项目的docker-compose.yml文件中定义了一个额外的服务。
在本地,它就像预期的那样工作。除了默认的web和db容器之外,我还得到了我的新容器。
但是,当我将此配置推送到Divio Cloud服务器时,它显然根本无法工作,并且我无法连接到自定义容器。
发布于 2018-10-30 00:02:47
总之
如果你的项目中需要额外的服务,你应该在Divio Cloud上配置它,而不是在docker-compose.yml中。docker-compose.yml仅用于本地开发,在部署时会被忽略。
更长的答案
在Divio Cloud项目中,docker-compose.yml用于编排本地开发环境only中的所有服务和容器。
在实际的托管环境中,它根本不被使用,只是被忽略了。在本地,您的项目具有在docker-compose.yml文件中定义的所有容器- web、db以及您定义的任何其他容器。
当您的项目部署在宿主环境中时,仅使用web容器。
为了方便起见,其他容器在本地使用,以复制作为基础设施一部分的服务。
例如,在本地您有一个运行Postgres数据库的db容器。在云基础设施中,web容器连接到Postgres集群。
同样,如果您的云项目中有芹菜,它将使用作为云基础设施的一部分提供的支持服务,但当您在本地设置相同的项目时,它将在新的Docker容器中构建它们。
欲了解更多信息,请访问docker-compose.yml reference in the Divio Cloud Developer Handbook。
注意:我是Divio团队的一员。这个问题是我们经常通过我们的支持渠道看到的。
https://stackoverflow.com/questions/53049446
复制相似问题