2015-08-29 35 views
1

我有一個服務在host1上的容器中運行。在啓動服務時,它會向host2上的「主」服務發出呼叫,通知它將其綁定到任意分配的端口上。在運行時由外部服務設置的轉發容器端口

主機2(或集羣中的其他主機)通過綁定到主機1上的容器專用地址的端口不可見。使用docker run -p僅轉發圖像運行時已知的端口。

我該如何將傳入主機連接轉發到此容器端口?

回答

0

利用主機網絡設置,而不是通過網橋使用NAT,可以解決此問題。

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

0

您可以在您的主機上運行代理,該代理在從主服務接收端口後可以通過容器進行通知,然後該代理將設置必要的端口轉發。

類似vulcand,這是一個etcd支持的代理,可能適合賬單。

+0

感謝您的建議。不幸的是,這對於我正在構建的基於ROS的機器人來說有點太複雜了。使用'''run --net =「host」'''似乎正在做我所需要的。 – danielchalef

相關問題