【发布时间】:2019-05-27 22:30:57
【问题描述】:
我正在尝试连接到在 docker 中运行的 django 实例。据我所知,我打开了正确的端口,并在 docker ps 中看到端口 8000 上有 tcp,但没有转发到该端口。
在阅读了有关端口的 docker compose 文档后,我希望它能够正常工作(我也可以在 127.0.0.1:9000 上查看 pgadmin)。
我的码头工人撰写:
version: '3'
services:
postgresql:
restart: always
image: postgres:latest
environment:
POSTGRES_USER: pguser
POSTGRES_PASSWORD: pgpassword
POSTGRES_DB: pgdb
pgadmin:
restart: always
image: dpage/pgadmin4:latest
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: admin
GUNICORN_THREADS: 4
PGADMIN_LISTEN_PORT: 9000
volumes:
- ./utility/pgadmin4-servers.json:/pgadmin4/servers.json
depends_on:
- postgresql
ports:
- "9000:9000"
app:
build: .
environment:
POSTGRES_DB: pgdb
POSTGRES_USER: pguser
POSTGRES_PASSWORD: pgpassword
POSTGRES_HOST: postgresql
volumes:
- .:/code
ports:
- "127.0.0.1:8000:8000"
- "5555:5555"
depends_on:
- postgresql
- pgadmin
我已尝试使用以下组合(应用程序)ports,建议here:
app:
...
ports:
- "8000"
- "8000:8000"
- "127.0.0.1:8000:8000"
但我仍然在尝试访问该网站时看到 This site can’t be reached 127.0.0.1 refused to connect.。
我确定这是一个端口转发问题,并且我的服务器在 django 中正常运行,因为我可以运行 docker attach 到容器并使用预期响应卷曲一个 url。
我做错了什么?
【问题讨论】:
-
你能展示你的应用程序在端口(8000?5555?)上监听的片段吗?
-
你是如何在 docker 中运行你的 django 应用程序的?您还需要检查日志
标签: django docker docker-compose