【发布时间】:2020-02-13 04:54:58
【问题描述】:
我尝试 dockerize 我的 django 应用程序, 这是我的 docker-compose.yml:
version: '3'
networks:
mynetwork:
driver: bridge
services:
postgres:
restart: always
image: postgres:11
ports:
- "5432:5432"
volumes:
- ./data:/var/lib/postgresql/data
web:
build: .
command: python /Code/core/manage.py runserver 0.0.0.0:8000
networks:
- mynetwork
ports:
- "8000:8000"
depends_on:
- postgres
在我的 django 应用程序中,在我的 settings.py 中,我有以下用于 db 连接的参数: 设置.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydbname',
'USER': 'mydbuser',
'PASSWORD': 'mydbpassword',
'HOST': '127.0.0.1',
'PORT': '5432',
'OPTIONS': {
'client_encoding': 'UTF8',
},
}
}
在我跑步的这一刻
docker-compose build
al 已经完成了,但是当我这样做时:
docker-compose up
我得到这个错误:
conn = _connect(dsn, connection_factory=connection_factory, **kwasync) web_1 | psycopg2.OperationalError:无法连接到服务器:连接被拒绝 web_1 |服务器是否在主机“127.0.0.1”上运行并接受 web_1 |端口 5432 上的 TCP/IP 连接?
如何使用我的 docker postgres 映像管理我的 django db 连接参数?
提前非常感谢
【问题讨论】:
-
这个网站应该有助于演练:wsvincent.com/django-docker-postgresql
-
将
host更改为postgres而不是localhost
标签: django postgresql docker docker-compose