【问题标题】:Host port with DB to Docker container带有 DB 的主机端口到 Docker 容器
【发布时间】:2016-02-10 22:47:58
【问题描述】:

我有 PostgreSQL 和 Docker 容器的主机。 PostgreSQL 在 5432 端口上工作。 Docker 容器必须连接到数据库。如何通过 Dockerfile 或运行命令将容器与数据库连接起来? EXPOSE 5432docker run -p 5432:5432 ... 没有帮助。

【问题讨论】:

    标签: linux docker port


    【解决方案1】:

    来自documentation 页面:

    有时您需要从您的内部连接到 Docker 主机 容器。要启用此功能,请将 Docker 主机的 IP 地址传递给 使用 --add-host 标志的容器。要查找主机的地址,请使用 ip addr show 命令。

    $ HOSTIP=`ip -4 addr show scope global dev eth0 | grep inet | awk '{print \$2}' | cut -d / -f 1`
    $ docker run  --add-host=docker:${HOSTIP} --rm -it busybox telnet docker 5432
    

    EXPOSE-p 标志以相反的方式工作,例如将容器端口发布到您不想要的主机。

    【讨论】:

    • 或者只是连接到PostgreSQL主机的IP。
    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2016-12-23
    • 2014-09-01
    • 1970-01-01
    • 2017-02-11
    • 2020-02-29
    • 1970-01-01
    相关资源
    最近更新 更多