【问题标题】:127.0.0.1 refused to connect in docker django127.0.0.1 拒绝在 docker django 中连接
【发布时间】: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


【解决方案1】:

我正在使用以下命令运行我的应用程序:

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 上的文档可以在here 找到

【讨论】:

    【解决方案2】:

    如果您在虚拟机中运行 docker,那么您需要通过虚拟机 IP 地址访问您的应用程序,不使用 localhost 或 127.0.0.1。尝试获取虚拟机IP。另请指定您在哪个平台/环境中安装和运行 docker。

    【讨论】:

      猜你喜欢
      • 2020-09-07
      • 1970-01-01
      • 2023-03-18
      • 2019-11-28
      • 1970-01-01
      • 2019-01-22
      • 2017-10-25
      • 2015-08-01
      • 2020-01-01
      相关资源
      最近更新 更多