2015-07-12 94 views
0

如果我使用-p 80开始容器,例如,docker将分配一个随机出站端口。防止Docker暴露主机上的端口

每次Docker分配一个端口,它也添加一个iptable规则来打开这个端口到世界上,是否有可能防止这种行为?

注意:我使用一个nginx负载平衡器来获取内容,我真的不需要让我的应用程序与两个不同的端口关联。

回答

2

如下您可以同时指定接口和端口:

-p ip:hostPort:containerPort 

-p ip::containerPort 

另一个解决方案是内部容器nginx的运行和使用conteiner链接没有任何暴露的其他服务。

+0

是否可以执行-p127.0.0.1:1234来获得随机分配的端口? – BigDong

+0

您可以使用'ip :: containerPort',我已经更新了一个答案。 – zero323

+0

我在容器btw中运行nginx,但如果我像“ContainerPort”一样暴露,randomHost端口向全世界开放 – BigDong

0

该iptable功能是一个docker恶魔的启动参数。在docker安装中寻找docker demon conf文件。添加--iptables = false并且docker永远不会触及你的iptables。