当我们使用另一个文件 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
其实我有
www
和 db_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/