如果我使用-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