有意删除覆盖docker-compose文件中的卷

对于生产部署,我不希望共享卷。 所以,我有一个覆盖文件,但这不会删除卷。

有没有办法删除覆盖文件中的共享卷? 我想避免为了开发而重写,因为这看起来很笨重。

这是我docker-compose.yml

 version: '2' # other services defined here services: web: build: context: . # other configuration volumes: - .:${APP_DIR} 

而我docker-compose.prod.yml

 version: '2' services: web: volumes: [] restart: always 

docker-compose合并列表条目时,它会添加新的映射,但不会删除现有的卷映射。

你可以通过让开发者拥有覆盖文件来实现这个,或者直到2.1版,你可以扩展一个通用的docker文件,而不是应用覆盖,它可以指向单个文件。

这可能是你的docker-compose.yml:

 version: '2' # other services defined here services: web: extends: file: docker-compose.prod.yml service: web build: context: . restart: no volumes: - .:${APP_DIR} 

而docker-compose.prod.yml将包含所有常见的configuration和产品设置:

 version: '2' services: web: # other configuration restart: always