将Django连接到现有的Docker Postgres容器

时间:2017-10-24 22:54:26

标签: django python-2.7 postgresql docker docker-compose

我有一种情况需要将我的Django项目连接到现有的Docker Postgres容器。简单来说,当我执行python manage.py dbshell时,django应该连接到现有的Docker Postgres容器。 目前我的django已连接到sqlite3 db。以下是我的settings.py代码段,用于连接到db。

DATABASES = {
    'default': {
#       'ENGINE': 'django.db.backends.postgresql_psycopg2',
#       'NAME': 'etag_auth',
#       'USER': 'etag_master',
#       'PASSWORD': 'thisismypass',
#       'HOST': 'cybercom_postgres',
#       'PORT': '5432'
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
#       'etag': {
#       'ENGINE': 'django.db.backends.postgresql_psycopg2',
#       'NAME': 'etag',
#       'USER': 'etag_master',
#       'PASSWORD': 'thisismypass',
#       'HOST': 'cybercom_postgres',
#       'PORT': '5432',
#    }
}

我也尝试过使用docker-compose,但我无法使docker-compose连接到现有容器。 下面是我的docker-compose.yml代码片段

postgres:
  external:
   name: etag_postgres
  image: postgres
  ports:
    - "5432:5432"
  volumes:
    - /data/db

请帮助解决问题。

0 个答案:

没有答案