我有一种情况需要将我的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
请帮助解决问题。