docker - 如何与来自另一个主机 Y 的主机 X 中正在运行的 Docker 容器通信(而不是来自主机 Y 中的容器)
问题描述
我正在试验 Docker 网络,我设置了一个如下场景,
将 docker 安装在通过网络连接的 host-X(host-X IP:60.0.0.28)并运行 ubuntu-OS 的基本 docker 容器(Docker 容器仅连接到默认的 docker bridge 网络,即 172.17.0.0/16 & 172.17.0.2 是容器 IP)。现在尝试从另一个主机-Y 与同一网络(主机-Y IP:60.0.0.40)中没有安装 docker 的正在运行的容器通信。
我在 host-Y 中添加了基本路由,例如 "ip route add 172.17.0.0/16 via 60.0.0.28 dev ens3" 。
从容器中,我能够 ping 主机-Y,在相反的情况下,我只能从主机-Y ping docker 网关“172.17.0.1”,但无法访问容器。
解决方案
假设您想在主机 X 上启动 Dockerized nginx。
你会跑:
docker run --detach -p 8080:80 nginx
然后您可以使用http://60.0.0.28:8080
.
推荐阅读
- heroku - 在 Heroku 上部署错误 CleverBeagle Pup 2.0 Meteor GraphQL
- javascript - 尝试复制代码但地图不会在后台填充
- javascript - 无法读取未定义的属性“驱动程序”
- windows - 如何使用参数(描述空白)获取广告中的所有 OU - 没有描述?
- html - 填充父元素
- scala - 在 Spark 应用程序的 CRD 定义中找不到文件
- firebase - 我尝试为每个云消息发送通知,但它不起作用
- c++ - 在使用指向 const 和非常量方法的成员指针时减少模板特化的数量
- jquery - 如何序列化嵌套的可排序 ul 列表
- java - 使用 itext 7 将交互式复选框添加到 PDF