+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何在Jenkins + Docker中为PostgreSQL以外的数据库命名

发布于2020-07-02 21:47     阅读(683)     评论(0)     点赞(26)     收藏(1)


在服务器中部署任何项目时,我想在Django结构的settings.py中提供不同的数据库名称。我必须在哪里更改数据库名称?

我的docker-compose.yml文件如下..

version: '3'

services:

  db:

    image: postgres

  web:

    build: .

    command: bash -c "python manage.py makemigrations && python manage.py migrate  && python manage.py runserver 0.0.0.0:8000"

    volumes:
      - .:/code

    ports:
      - "8000:8000"

    depends_on:

      - db

我的数据库配置在settings.py中是这样的

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.postgresql_psycopg2',

        'NAME': 'postgres',

        'USER': 'postgres',

        'HOST': 'db',

        'PORT': 5432,

    }

}

我必须在哪里更改数据库名称?


解决方案


您可以使用POSTGRES_DB环境变量。从Postgres docker图像文档中:

POSTGRES_DB此可选的环境变量可用于为首次启动映像时创建的默认数据库定义其他名称。如果未指定,则将使用POSTGRES_USER的值。

docker-compose.yml文件为:

version: '3'

services:    
  db:    
    image: postgres
    env:
      POSTGRES_DB: <DATABASE NAME>
  web:    
    build: .    
    command: bash -c "python manage.py makemigrations && python manage.py migrate  && python manage.py runserver 0.0.0.0:8000"    
    volumes:
      - .:/code    
    ports:
      - "8000:8000"    
    depends_on:    
      - db

--

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.postgresql_psycopg2',

        'NAME': '<DATABASE NAME>',

        'USER': 'postgres',
    'HOST': 'db',

    'PORT': 5432,

  }

}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/433204/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)