docker-compose - 通过覆盖删除 docker-compose 上的服务

标签 docker-compose devops devops-services

当我们使用另一个文件 docker-compose.prod.yml 在组合/覆盖中运行时,我想删除 docker-compose.yml 文件中定义的容器,例如:

# docker-compose.yml
version: 2
services: 

  www:
    image: php56

  db_for_development:
    image: mariadb

覆盖:
# docker-compose.prod.yml
version: 2
services: 

  www:
    image: php70

  db_for_development:
    [control: override-and-remove] # hypothesis

然后,在运行时:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.prod.yml ps

其实我有wwwdb_for_development在一起。

我只想要 www容器,而不是其他。

最佳答案

您可能必须切换到 version: 3 才能执行此操作,我相信 version: 2 您可以使用“scale”参数,但我不是 100% 确定。
无论如何,您可以像这样覆盖“副本”参数:

# docker-compose.prod.yml
version: "3"
services: 

  db_for_development:
    deploy:
      replicas: 0

关于docker-compose - 通过覆盖删除 docker-compose 上的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718055/

相关文章:

库伯内特斯 : Dynamic Storage Provisioning using host-path

docker - 如何管理由docker compose启动的一些容器

docker - build process下命令和shell中命令的区别

amazon-web-services - Jenkins 可以自动启动和停止从节点吗?

azure - 作为 Azure DevOps 发布管道的一部分从应​​用服务中删除文件

kubernetes - 为集群中的单个 pod 设置环境变量

angular - Bluemix 构建管道设置节点和 npm 版本

linux - 使变量在容器之间可用?

node.js - 尽管项目在 docker 容器上,但如何在我的 IDE 上提供 linting 功能?

security - 您是否将 dotenv 文件留在服务器中?或者删除它?