Docker撰写覆盖

我有两个Docker撰写文件, docker-compose.yml看起来像这样

 version: '2' services: mongo: image: mongo:3.2 restart: always volumes: - /mnt/data/mongodb/data/db:/data/db redis: image: redis:3 restart: always application: build: . image: localregistry:5000/mz_application:latest ports: - "3000:3000" links: - mongo:mongo - redis:redis restart: always 

和另外一个文件,当我部署docker-deploy.yml

 version: '2' services: application: image: localregistry5000/mz_application:latest links: - mongo:mongo - redis:redis restart: always nginx: restart: always build: ./nginx/ ports: - "80:80" volumes_from: - application restart: always links: - application:application command: /bin/bash -c "nginx -g 'daemon off;'" tty: false 

所以使用这些文件的想法如下。 当我跑步

 docker-compose build 

它构build并将图像推送到我们的本地dockerregistry。

 docker-compose -f docker-compose.yml -f docker-deploy.yml build && docker-compose -f docker-compose.yml -f docker-deploy.yml up -d 

从本地registry中部署和运行application ,而不是被重build。

不幸的是,它重build它,因为当我覆盖applicationbuild仍然存在,因为它是从docker-compose.yml文件。 如何删除它? 有没有办法做到这一点 – build设和推动和使用一个docker组成文件的图像,然后只使用docker组成文件覆盖拉?