对于生产部署,我不想要共享卷。所以,我有一个覆盖文件,但这不会删除卷。
有没有办法删除覆盖文件中的共享卷?我想避免仅仅为了开发而重写,因为这看起来很笨重。
这是我的 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 up
来启动开发版本,并有第二个配置文件来扩展它以用于生产。
如果您想确保完全覆盖卷,请使用第三个配置文件 docker-compose.override.yml
。将所有用于开发的卷定义放在那里。
docker-compose up
默认情况下使用这个文件扩展基本配置。但是当您执行 docker-compose -f docker-compose.yml -f production.yml
之类的操作时,将不会加载 docker-compose.override.yml
文件,您将仅从生产文件中获取卷。
关于docker - 有意删除覆盖 docker-compose 文件中的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43020286/