在运行时由外部服务设置的转发容器端口

时间:2015-08-29 01:01:20

标签: docker

我在host1上的容器中运行了一个服务。启动服务时,它会呼叫一个" master" host2上的服务,告诉它绑定到任意分配的端口。

Host2(或群集中的其他主机)对于绑定到host1上容器的私有地址的端口没有可见性。使用docker run -p仅转发图像运行时已知的端口。

如何将传入的主机连接转发到此容器端口?

2 个答案:

答案 0 :(得分:0)

您可以在主机上运行代理,该代理在从主服务接收端口后可以通过容器通知,然后将设置必要的端口转发。

vulcand这样的etcd支持的代理可能符合要求。

答案 1 :(得分:0)

利用主机网络设置,而不是通过网桥使用NAT,解决了这个问题。

docker run --net="host" ...