有意删除覆盖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