【问题标题】:Get IP address of host where docker engine is running获取运行 docker 引擎的主机的 IP 地址
【发布时间】:2016-10-24 17:16:19
【问题描述】:

在运行的 docker 容器中,有没有办法获取容器运行所在主机的 IP 地址?

【问题讨论】:

    标签: networking docker docker-compose


    【解决方案1】:

    在容器内,您的默认网关地址是主机的一个地址。例如,您可以像这样得到它:

    ip route | awk '$1 == "default" {print $3}'
    

    这是 Docker 为您的容器网络创建的桥接设备上的主机地址。您将能够访问该地址上正在侦听所有接口或绑定到该特定接口的任何主机服务。

    如果您真的需要主机的外部地址,则需要通过环境变量传递该信息,如下所示:

    docker run -e MY_IP=192.168.10.1 ...
    

    或通过其他机制(配置文件、数据库值等)。

    【讨论】:

      【解决方案2】:

      larsks 的回答很棒。但是如果需要获取主机的公网IP,可以试试http://ifconfig.me/。命令将是:

      $ curl ifconfig.me
      

      然后你就可以得到你主机的公网IP了。

      【讨论】:

        猜你喜欢
        • 2014-05-21
        • 2013-06-14
        • 2022-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-29
        • 2012-03-22
        相关资源
        最近更新 更多