2016-06-11 59 views
1

我開始了一個碼頭工人容器在端口9324上運行的服務:碼頭網絡 - 爲什麼碼頭集裝箱在127.0.0.1上響應?

docker run -d -p 9324:9324 vsouza/sqs-local 

我想象,這個容器將運行Øbridge0網絡。所以如果我運行:docker network inspect bridge,我可以看到這個容器在ip:"IPv4Address": "172.17.0.2/16"上。

服務在ip:172.17.0.2:9324和127.0.0.1:9324上都響應。

爲什麼此服務在127.0.0.1上響應?

回答

2

-p 9324:9324告訴碼頭在9324端口發佈主機容器中的9324端口。它的實際機制是使用一些iptables規則在該端口上做僞裝和dnat(分別用於出站和入站通信)。這通常是因爲你並不總是知道每個容器的IP地址,並且可能會將防火牆規則配置爲阻止直接訪問容器(而不是在您的環境中)。