Docker撰写删除另一个容器

时间:2017-07-27 09:35:05

标签: docker docker-compose

我有一个项目包含一个基本的docker-compose.yml文件,然后是另一个文件 - 每个文件适用于一个环境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

事情是我无法并排运行两个容器,尽管我能够像一个月前那样做并且几个月前没有变化。每次我运行示例开发环境时我都会生成docker-compose for prod environment docker吐出这个:

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

这很奇怪,因为当我开始致富时,为什么要重新创建richy-dev容器。

我的配置文件中可能存在冲突。你能帮帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

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

  

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

取自:CSV lines

相关问题