Django与docker-compose - psycopg2连接错误
Django与docker-compose - psycopg2连接错误
我正在尝试使用docker-compose运行一个简单的Django应用程序,使用PostgreSQL作为数据库。PostgreSQL容器运行良好并且可以访问,但是我无法使用Python从Django容器内部访问它。
这是我的docker-compose.yaml文件内容:
版本:"3"
服务:
db:
图像:"postgres"
重新启动:始终
环境:
- POSTGRES_USER=$ {DB_USER}
- POSTGRES_PASSWORD=$ {DB_PASSWORD}
卷:
- pgdata:/ var / lib / postgresql /数据
django:
构建:./ qc_django
端口:
- "8080:8080"
环境:
- DB_NAME = django
- DB_USER = $ {DB_USER}
- DB_PASSWORD = $ {DB_PASSWORD}
- DB_HOST = db
- DB_PORT = 5432
- DEBUG = True
依赖项:
- db
卷:
pgdata:
这是Django设置中的数据库设置:
DATABASES = {
'default':{
'ENGINE':'django.db.backends.postgresql',
'NAME':env(“DB_NAME”),
'USER':env(“DB_USER”),
'PASSWORD':env(“DB_PASSWORD”),
'HOST':env(“DB_HOST”),
'PORT':env(“DB_PORT”),
}
}
大约一分钟后,它会输出以下错误:
django.db.utils.OperationalError:无法连接到服务器:连接超时
服务器是否在主机“db”(172.21.0.2)上运行,并且是否接受端口5432上的TCP / IP连接?