我在host1上的容器中运行了一个服务。启动服务时,它会呼叫一个" master" host2上的服务,告诉它绑定到任意分配的端口。
Host2(或群集中的其他主机)对于绑定到host1上容器的私有地址的端口没有可见性。使用docker run -p
仅转发图像运行时已知的端口。
如何将传入的主机连接转发到此容器端口?
答案 0 :(得分:0)
您可以在主机上运行代理,该代理在从主服务接收端口后可以通过容器通知,然后将设置必要的端口转发。
像vulcand这样的etcd
支持的代理可能符合要求。
答案 1 :(得分:0)
利用主机网络设置,而不是通过网桥使用NAT,解决了这个问题。
docker run --net="host" ...