docker - 在不提供特定 IP 地址的情况下将 docker 容器端口绑定到 eth0
问题描述
我看到我可以简单docker run -p SOME_IP_ADDRESS:25:25
地将容器绑定到某个接口上的端口,但是假设我正在使用 puppet 启动多个具有 docker 启动容器的实例,我不一定知道实例接口的 IP 是什么会,然后呢?
例如,里面/etc/systemd/system/SOME_APPLICATION.service
是我的ExecStart=/usr/bin/docker run -p 0.0.0.0:25:25 SOME_CONTAINER
命令,所以当实例启动时,docker 将启动我的容器。
我不知道实例的确切 IP 是什么,所以我不知道应该将哪个 IP 地址传递到docker run -p SOME_IP_ADDRESS:25:25
.
有没有办法docker run -p eth0:25:25
让任何 IP eth0 都成为容器端口绑定的 IP 地址?
解决方案
我只需要使用 puppet 的核心事实https://puppet.com/docs/puppet/5.5/lang_template_epp.html
ExecStart=/usr/bin/docker run -p <%= $facts[networking][interfaces][eth0][ip] %>:25:25
推荐阅读
- java - g1 gc中的`Ref Enq`做了什么
- orientdb - orientdb 在查询到来时如何找到合适的主节点以及如何知道数据是最新的?
- python-3.x - 值未从 UDF 中的输入打印
- twitter-bootstrap - 引导页面在 PyCharm 的 python 项目中没有任何影响
- unit-testing - 将 GoogleTest 与 C 项目一起使用的示例 CmakeList.txt
- python-2.7 - Python matplot 缺少条形图中的条形
- python - 在 python 中将 b'\x10' 转换为 int 16
- angular - 拖放不适用于 ag-grid-angular
- python - 我应该如何在 Travis 上使用 moto 测试 AWS S3?
- ocaml - ocamlc可以编译ml和mli以外的文件吗?