Я пытаюсь подключиться к экземпляру django, запущенному в Docker.Насколько я могу судить, я открыл правильный порт и вижу в докере ps, что есть порт tcp на порту 8000, но нет переадресации на порт.
После прочтения докера составьте документы напорты, я ожидал бы, что это будет работать (я также могу просмотреть pgadmin на 127.0.0.1:9000).
Мой docker compose:
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
Я пробовал следующие комбинации для (app) 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-присоединение к контейнеру и свернуть URL с ожидаемым ответом.
Что я делаю не так?