【问题标题】:Cannot assign requested address for Django-Docker project无法为 Django-Docker 项目分配请求的地址
【发布时间】:2022-01-14 07:49:19
【问题描述】:

我正在使用 Docker 构建我的第一个项目。我用 Django 和 PostgreSQL 创建了一个简单的Hello World。在没有和有 Docker 的项目结构下方:

No Docker      With Docker
PostgreSQL --> PostgreSQL
Django     --> Container(Django)

因此 PostgreSQL 不会使用 Docker;开发中的 PostgreSQL 在 localhost 中运行,生产中将在专用服务器中运行。

当我在没有 Docker 的情况下启动 Django 时,我可以看到 Hello World 页面,但是当我在容器中运行它时,我看到了这个错误:

无法分配请求的地址 服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?

【问题讨论】:

    标签: django postgresql docker


    【解决方案1】:

    您的主机使用端口 5432 ,首先 stop the postgress service on your host machine .. 然后运行容器..

    如果你的 postgress 是在主机上,那么你 need to use Host Network instaed 的默认桥接网络

    在您的 docker run 命令中使用--network="host",然后您的 docker 容器中的 127.0.0.1 将指向您的 docker 主机。

    如果你的 docker 版本 > v20.10 那么 在 Docker 命令中添加 --add-host=host.docker.internal:host-gateway 以启用此功能。

    【讨论】:

    • 如果我停止 Postgres 我该如何使用它? Postgres DB 不在容器中。
    猜你喜欢
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2023-01-05
    • 2013-08-08
    相关资源
    最近更新 更多