防止 Docker 暴露主机上的端口

prevent Docker from exposing port on host

例如,如果我使用 -p 80 启动容器,docker 将分配一个随机出站端口。

每次Docker分配一个端口,它也添加一个iptable规则来向世界开放这个端口,是否可以防止这种行为?

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

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

-p ip:hostPort:containerPort

-p ip::containerPort

另一种解决方案是 运行 容器内的 nginx 并使用容器链接而不暴露任何其他服务。

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