目前,我在同一个docker-compose.yml文件中有大约20个容器。并不是所有的容器都是相关的,但是它是这样设置的,所以我只需要运行一次docker-compose up就可以启动所有的容器。
我是否应该将其分解为多个docker-compose文件(例如,每个docker-compose文件一个应用程序,其中可能包括多个容器,如前端+数据库)?将所有容器放在一个巨大的docker-compose文件中有什么显著的缺点吗?
发布于 2020-07-13 16:54:08
并不是所有的容器都是相关的,但是它是这样设置的,所以我只需要运行一次docker-compose就可以了
如果你为了这个需要而将所有的容器都保存在一个docker-compose.yml文件中,那么最好使用每个docker一个项目--而不是创建所有的容器。因为你也可以一次启动多个合成文件。
如果您想启动所有容器,那么只需传递
docker-compose -f docker-compose.projecta.yml -f docker-compose.projectb.yml up或者用于单个项目
docker-compose -f docker-compose.projecta.yml您还可以浏览expend选项
Share Compose configurations between files and projects
我将使用,每个docker-compose文件一个项目,因为
而最后一次验证组合文件时,由于出现错误时没有正确的行指示而非常混乱,因此配置错误只会传播到单个项目,而不会影响所有其他项目。
发布于 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文件。
https://stackoverflow.com/questions/62871280
复制相似问题