我有一个在Docker容器中运行的应用程序。该应用程序在其API中公开了一些资源。这些资源必须使用完整的URL公开,包括方案,主机,端口和路径。
在容器内部,看来我的IP地址(主机)是172.17.0.2
。这可能是因为该容器是内部Docker网络的一部分。
但是,主机有一个eth0
设备,其IP为192.168.1.*
,这是我想知道的并包含在url中的设备。
我了解我可以在创建容器并将其作为环境变量传递时对其进行评估,但是使用不涉及在Docker主机IP地址更改的情况下不重新创建容器的解决方案会很好。
我知道我可以在主机上设置一项服务,以定期将IP地址写入一个卷,然后从该卷中读取它,但是我希望容器外部的移动部件尽可能少。 >
答案 0 :(得分:2)
使用--net=host
启动docker容器,并且可以从容器访问主机的所有接口,甚至可以访问192.168.1.X。