我想明确地打开我的centos 7机器上的端口,所以我configuration了firewalld作为默认区域和我的外部区域在我的公共界面上。 当我运行python -m SimpleHTTPServer 8000并在端口8000上点击,它失败。 但是,如果我将端口添加到外部区域。 有用。 一切如预期。
但是,当我在8000端口启动一个docker集装箱时,我从外部打开箱子,我可以到达服务。 这不是我想要发生的事情。 我希望只有在外部区域打开端口8000时才可以访问。
即使我将Docker容器绑定到方框的公共地址,它仍然会绕过防火墙。 如果需要的话,我可以提供更多的信息,如路由表和接口configuration,但我不知道什么是有用的。 期待学习。
这个盒子上有两个物理接口,eth0有一个公共ip分配给它,eth1连接到这个专用networking,我希望可以访问。
编辑已解决添加--iptables=false到docker选项。
请记住,除非您明确告诉它不要,否则Docker会打开防火墙中的端口。 –
只需要将--iptables=false添加到--iptables=false选项。