Docker撰写删除另一个容器
我有一个基本docker-compose.yml
文件的项目,然后2个文件 - 每个为一个环境docker-compose.dev.yml
和docker-compose.prod.yml
。Docker撰写删除另一个容器
搬运工-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
我运行我的开发/产品环境,如docker-compose -f docker-compose.yml -f docker-compose.(dev|prod).yml up
事情是我不能在两个容器并排运行,尽管我能够做到这一点像一个月前和几个变化前。每次我都跑例如开发环境,我产卵泊坞窗,谱写了督促环境搬运工吐出了这一点:
redis is up-to-date
selenium is up-to-date
Recreating richy-dev
这很奇怪,因为它为什么要重新当我开始里希的里希-dev的容器-prod。
也许我的配置文件有冲突。你们能帮我吗?
谢谢。
基本上要区分两个环境的容器名称,您需要明确定义项目名称。否则它会根据文件夹名称获取名称。
您可以使用-p或COMPOSE_PROJECT_NAME环境变量。
摘自:https://github.com/docker/compose/issues/2982#issuecomment-186835033
谢谢。我用整个解决方案写了一篇文章https://medium.com/@n1_/docker-and-your-development-a-production-environments-857067a9bfc0 – grafa
看起来这可能是因为这两个服务被命名为'app' – Serey
谢谢。我会试一试并报告结果。 – grafa