【发布时间】:2021-04-03 16:05:00
【问题描述】:
这是 django
的 docker composeenvironment:
SECRET_KEY: "KEY"
DEBUG: "True"
NAME: "NAME"
USER: "USER"
PASSWORD: "PASSWORD"
HOST: "HOST"
PORT: "5434"
depends_on:
- postgres_db
这是 postgres
的 docker compose postgres_db:
image: postgres
environment:
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_USER: ss
POSTGRES_PASSWORD: ss
PGDATA: /data/ss
volumes:
- postgres:/data/postgres
ports:
- "5434:5432"
networks:
main_network:
ipv4_address: 10.10.0.4
restart: unless-stopped
这是我的数据库django设置中的配置数据。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.getenv('NAME'),
'USER': os.getenv('USER'),
'PASSWORD': os.getenv('PASSWORD'),
'HOST': "postgres_db",
'PORT': os.getenv('PORT')
}
}
我找不到我的错误。我花了 4-5 个小时,但没有成功。
我仍然收到此错误服务器是否在主机“postgres_db”(10.10.0.4)上运行并接受端口 5434 上的 TCP/IP 连接?当我编写 docker compose up 时
【问题讨论】:
-
postgres 容器是否正常工作?您是否检查了其容器中 postgres 服务的状态?
-
@Jarvis 是的,它工作正常,如果我在我的设置文件中写入 127.0.0.1,我可以连接。但在 docker 中它不起作用。
-
为什么要在 postgres 的 Dockerfile 中添加网络配置?
-
@Jarvis 因为我想在 docker 中从 django 连接
-
不能直接在localhost上使用docker容器的名字吗?为什么要明确指定
10.10.0.4?
标签: python django postgresql docker docker-compose