docker - 获取 Docker 主机的 IPv4 地址
问题描述
我有一个在 Docker 容器中运行的应用程序。此应用程序在其 API 中公开了一些资源。这些资源必须使用完整的 url 公开,包括方案、主机、端口和路径。
从容器内部,看起来我的 IP 地址(主机)是172.17.0.2
. 这可能是因为容器是内部 Docker 网络的一部分。
但是,主机有eth0
一个 IP 为的设备,192.168.1.*
这是我想知道并包含在 url 中的设备。
我知道我可以在创建容器并将其作为环境变量传递时对其进行评估,但是如果 Docker 主机 IP 地址发生更改,则使用不涉及重新创建容器的解决方案会很好。
我知道我可以在主机上设置一个服务来定期将 IP 地址写入一个卷,然后从那里读取它,但是我希望在容器之外有尽可能少的移动部件。
解决方案
启动 docker 容器--net=host
,您的主机的所有接口都可以从容器访问,当然也包括您的 192.168.1.X。
推荐阅读
- javascript - 在传递道具之前反应变异状态
- vba - 打开电子表格时刷新所有 VBA 代码
- python - 在python 3中连接文件
- json - 将消息项附件添加到消息草稿时出现 500 错误
- r - 在两列数据表中查找点
- apache-spark - 本地同机Spark集群有什么优势?
- google-apps-script - 具有多个条件的 Google Script 条件格式
- docker - NAT服务暴露背后的Kubernetes节点
- visual-studio-2017 - 部署后脚本中 :r 引用的脚本显示错误
- react-native - 如何在本机反应中处理耳机的播放/暂停按钮