首页 > 解决方案 > 获取 Docker 主机的 IPv4 地址

问题描述

我有一个在 Docker 容器中运行的应用程序。此应用程序在其 API 中公开了一些资源。这些资源必须使用完整的 url 公开,包括方案、主机、端口和路径。

从容器内部,看起来我的 IP 地址(主机)是172.17.0.2. 这可能是因为容器是内部 Docker 网络的一部分。

但是,主机有eth0一个 IP 为的设备,192.168.1.*这是我想知道并包含在 url 中的设备。

我知道我可以在创建容器并将其作为环境变量传递时对其进行评估,但是如果 Docker 主机 IP 地址发生更改,则使用不涉及重新创建容器的解决方案会很好。

我知道我可以在主机上设置一个服务来定期将 IP 地址写入一个卷,然后从那里读取它,但是我希望在容器之外有尽可能少的移动部件。

标签: dockernetworking

解决方案


启动 docker 容器--net=host,您的主机的所有接口都可以从容器访问,当然也包括您的 192.168.1.X。


推荐阅读