首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker Compose:我应该有多个docker-compose文件吗?

Docker Compose:我应该有多个docker-compose文件吗?
EN

Stack Overflow用户
提问于 2020-07-13 15:41:16
回答 2查看 10.8K关注 0票数 12

目前,我在同一个docker-compose.yml文件中有大约20个容器。并不是所有的容器都是相关的,但是它是这样设置的,所以我只需要运行一次docker-compose up就可以启动所有的容器。

我是否应该将其分解为多个docker-compose文件(例如,每个docker-compose文件一个应用程序,其中可能包括多个容器,如前端+数据库)?将所有容器放在一个巨大的docker-compose文件中有什么显著的缺点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-13 16:54:08

并不是所有的容器都是相关的,但是它是这样设置的,所以我只需要运行一次docker-compose就可以了

如果你为了这个需要而将所有的容器都保存在一个docker-compose.yml文件中,那么最好使用每个docker一个项目--而不是创建所有的容器。因为你也可以一次启动多个合成文件。

如果您想启动所有容器,那么只需传递

代码语言:javascript
复制
docker-compose -f docker-compose.projecta.yml -f docker-compose.projectb.yml  up

或者用于单个项目

代码语言:javascript
复制
docker-compose -f docker-compose.projecta.yml

您还可以浏览expend选项

Share Compose configurations between files and projects

我将使用,每个docker-compose文件一个项目,因为

  • 它不会创建不必要的容器
  • 它将避免端口冲突(如果两个共享同一端口)
  • 将节省计算成本
  • 创建码头堆栈的时间更短<代码>H119更易于管理<代码>H220<代码>F221

而最后一次验证组合文件时,由于出现错误时没有正确的行指示而非常混乱,因此配置错误只会传播到单个项目,而不会影响所有其他项目。

票数 7
EN

Stack Overflow用户

发布于 2020-08-17 11:31:15

实际上,我在目前的项目中遇到了一个非常类似的挑战。这让我产生了写一个小脚本的想法,我称之为docker-compose-profile (或简称:dcp)。我昨天以docker-compose-profile的身份在GitLab上发布了这篇文章。所以简而言之:我现在可以使用像dcp -p some-services "up -d"这样的命令启动几个预定义的docker-compose配置文件。配置文件可以包含docker.compose.yml中所有已定义服务的子集。通过这种机制,可以很容易地启动在一个dcp.yml中单独定义的几组服务。请随时尝试,并提供一些反馈或建议,以便进一步改进。

回答你的问题..。如果所有服务都属于同一项目,则可以将它们保存在一个文件中。如果没有,则将其拆分为sepearat docker-compose.yml文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62871280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档