Docker端口绕过Firewall修复

Docker Port Firewall Invalid

Posted by BlueFat on Thursday, March 14, 2019

失效原因

默认情况下, docker启动后参数中如果加了端口映射, 就会自动将端口开放给所有网络设备访问, 并且这种情况下即使在本机的系统防火墙中加规则也无效, 因为docker会自动添加一个优先级最高的针对这个映射端口全开放规则, 这样就需要在docker启动时添加参数来禁止docker对本机防火墙的操作.

禁止docker去操作防火墙

# 给docker的启动服务添加"--iptables=false"参数, 禁止docker去操作防火墙
sed -i  's@^ExecStart=/usr/bin/dockerd(.*)@ExecStart=/usr/bin/dockerd \1 --iptables=false@g' /lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
docker restart xxx

重启docker后需要重启容器镜像