python - 用于开发环境的 Docker 设置?
问题描述
我正在尝试找出如何设置我当前的 docker compose yaml 文件来运行我的开发环境。我是 docker 新手,但我得到了一个使用它的项目。
version: '3'
services:
database:
image: someinfo:9.5
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
volumes:
- db-data:/var/lib/postgresql/data
backend:
build: .
command: bash /somepath/server/django_devserver.sh
volumes:
- .:/volumeinfo
links:
- database
ports:
- "8000:8000"
environment:
DJANGO_SETTINGS_MODULE: projectname.settings.production
SCHEMA: https
DB_HOST: database
PYTHONUNBUFFERED: 1
volumes:
db-data:
目前这是在我的开发环境中运行 Django 生产设置。我想保留它,但我也想告诉 docker 在开发服务器中运行我的开发设置。我怎样才能做到这一点?我会使用 dev vars 创建一个名为 dev-backend 的新容器吗?
那我会跑docker-compose up dev-backend
还是类似的事情?原谅我的无知,今天是我接触 Docker 的第一天。
解决方案
我建议您尝试官方鼓励的Docker Compose 配置覆盖方法:
# your_config.dev.yml 版本:'3' 服务: 数据库: 环境: - POSTGRES_USER=dev_user - POSTGRES_PASSWORD=dev_pass 后端: 环境: DJANGO_SETTINGS_MODULE:projectname.settings.development # ...
这就是您如何使用一组开发环境覆盖您的生产环境配置:
docker-compose -f your_config.yml -f your_config.dev.yml (build|up|...)
注意这是假设your_config.yml
是问题中提出的。