Docker组合删除另一个容器

我有一个基本docker-compose.yml文件的项目,然后2另一个文件 – 每个环境docker-compose.dev.ymldocker-compose.prod.yml

泊坞窗,compose.yml

 version: "2" services: app: build: context: . depends_on: - redis - selenium networks: - richy redis: image: redis:3.2 container_name: redis networks: - richy selenium: image: selenium/standalone-chrome container_name: selenium networks: - richy networks: richy: driver: bridge 

泊坞窗,compose.dev.yml

 version: "2" services: app: build: args: env: dev image: richy_image:dev-latest container_name: richy-dev volumes: - .:/var/www/richy ports: - 9000:80 environment: - ENV=dev 

泊坞窗,compose.prod.yml

 version: "2" services: app: build: args: env: prod image: richy_image:prod-latest container_name: richy-prod volumes: - /home/grafa/workspace/prichy/richy/db.sqlite3:/var/www/richy/richy/db.sqlite3 ports: - 9001:80 environment: - ENV=prod 

我运行我的dev / prod环境,如docker-compose -f docker-compose.yml -f docker-compose.(dev|prod).yml up

事情是,我不能在两个容器并排运行,尽pipe我能够像一个月前那样做,而且几乎没有变化。 每次我运行例如开发环境,我为产品环境docker-composedocker吐出这个:

 redis is up-to-date selenium is up-to-date Recreating richy-dev 

这很奇怪,因为为什么当我启动richy-prod时想重新创buildrich-dev容器。

也许在我的configuration文件中有冲突。 你们能帮我吗?

谢谢。

基本上区分两个环境的容器名称,你需要明确定义项目名称。 否则会根据文件夹名称取名称。

您可以使用-p或COMPOSE_PROJECT_NAME环境variables。

取自: https : //github.com/docker/compose/issues/2982#issuecomment-186835033