[英]Docker compose removes another container
我有一個項目,其中包含一個基本docker-compose.yml
文件,然后包含2個其他文件-每個文件均用於一個環境docker-compose.dev.yml
和docker-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
我運行諸如docker-compose -f docker-compose.yml -f docker-compose.(dev|prod).yml up
類的開發/產品環境docker-compose -f docker-compose.yml -f docker-compose.(dev|prod).yml up
問題是,盡管我能夠像一個月前那樣做並且很少改動,但我不能同時在兩個容器上同時運行。 每次我運行例如dev環境時,我就生成docker-compose到prod環境中,docker會吐出以下內容:
redis is up-to-date
selenium is up-to-date
Recreating richy-dev
這很奇怪,因為為什么當我啟動richy-prod時為什么要重新創建richy-dev容器。
也許我的配置文件中有沖突。 你們能幫我嗎?
謝謝。
基本上是要區分兩種環境的容器名稱,您將需要顯式定義項目名稱。 否則,它將根據文件夾名稱獲取名稱。
您可以為此使用-p或COMPOSE_PROJECT_NAME環境變量。
摘自: https : //github.com/docker/compose/issues/2982#issuecomment-186835033
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.