我正在尝试连接到在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: [email protected]
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
,因为是建议在这里:
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。
我究竟做错了什么?
要添加答案,我使用以下命令运行应用程序:
docker-compose run app python3 manage.py runserver 0.0.0.0:8000
使用docker-compose时,您需要使用参数--service-ports
以:
在启用服务端口并将其映射到主机的情况下运行命令。
因此,我的最终命令如下所示:
docker-compose run --service-ports app python3 manage.py runserver 0.0.0.0:8000
的文档run
可以在这里找到
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句