首页 > 解决方案 > 用于开发环境的 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 的第一天。

标签: pythondjangodockerdocker-compose

解决方案


我建议您尝试官方鼓励的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是问题中提出的。


推荐阅读