Docker compose删除另一个容器
我有一个项目,有一个基本的docker-compose.yml文件,然后是另外两个文件——每个文件对应一个环境docker-compose.dev.yml和docker-compose.prod.yml docker-compose.yml docker-compose.dev.yml docker-compose.prod.yml 我运行我的dev/prod环境,比如docker compose-f docker-compose.yml-f docker compose.dev | prod.yml up 问题是,我不能在那里同时运行两个容器,尽管我能像一个月前那样运行,并且在几次更改之前运行。例如,每次我运行dev-environment并生成docker compose for prod-environment docker时,docker都会这样说:Docker compose删除另一个容器,docker,docker-compose,Docker,Docker Compose,我有一个项目,有一个基本的docker-compose.yml文件,然后是另外两个文件——每个文件对应一个环境docker-compose.dev.yml和docker-compose.prod.yml docker-compose.yml docker-compose.dev.yml docker-compose.prod.yml 我运行我的dev/prod环境,比如docker compose-f docker-compose.yml-f docker compose.dev | prod.
redis is up-to-date
selenium is up-to-date
Recreating richy-dev
这很奇怪,因为当我启动richy-prod时,它为什么要重新创建richy-dev容器
我的配置文件中可能有冲突。你们能帮帮我吗
谢谢。基本上要区分两个环境的容器名称,需要明确定义项目名称。否则,它将根据文件夹名称获取名称 您可以使用-p或COMPOSE_PROJECT_NAME环境变量来实现此目的
摘自:看起来可能是因为这两项服务都名为appThank you。我将尝试一下并报告结果。谢谢。我写了一篇有完整解决方案的文章
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
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
redis is up-to-date
selenium is up-to-date
Recreating richy-dev