如果我使用-p 80
開始容器,例如,docker將分配一個隨機出站端口。防止Docker暴露主機上的端口
每次Docker分配一個端口,它也添加一個iptable規則來打開這個端口到世界上,是否有可能防止這種行爲?
注意:我使用一個nginx負載平衡器來獲取內容,我真的不需要讓我的應用程序與兩個不同的端口關聯。
如果我使用-p 80
開始容器,例如,docker將分配一個隨機出站端口。防止Docker暴露主機上的端口
每次Docker分配一個端口,它也添加一個iptable規則來打開這個端口到世界上,是否有可能防止這種行爲?
注意:我使用一個nginx負載平衡器來獲取內容,我真的不需要讓我的應用程序與兩個不同的端口關聯。
如下您可以同時指定接口和端口:
-p ip:hostPort:containerPort
或
-p ip::containerPort
另一個解決方案是內部容器nginx的運行和使用conteiner鏈接沒有任何暴露的其他服務。
該iptable功能是一個docker惡魔的啓動參數。在docker安裝中尋找docker demon conf文件。添加--iptables = false並且docker永遠不會觸及你的iptables。
是否可以執行-p127.0.0.1:1234來獲得隨機分配的端口? – BigDong
您可以使用'ip :: containerPort',我已經更新了一個答案。 – zero323
我在容器btw中運行nginx,但如果我像「ContainerPort」一樣暴露,randomHost端口向全世界開放 – BigDong