解决 防火墙重启带来 Docke容器失效问题
在宿主机上配置到容器的NAT(docker run -p)时,Docker会自动配置宿主机的防火墙NAT规则,但是这些规则并不会持久化到防火墙配置文件,重启防火墙后这些规则都将消失,直接导致运行的容器访问失效。
那么怎样解决这个问题呢?
1)不使用docker run -p参数配置NAT,而是通过手动配置防火墙NAT规则来实现。
2)使用docker run -p参数配置NAT,容器启动之后使用iptables-save(centos)将防火墙规则同步到防火墙配置文件
这里介绍的是采用2方案:
1.iptables -nL -t nat ---查看docker NAT规则是否存在

2.iptables-save 检查当前 IPTable 表是否空
3.如果IPtable 表不为空。 先备份IPtable表
cp /etc/sysconfig/iptables /etc/sysconfig/iptables_bak20180705
4.iptables-save > /etc/sysconfig/iptables 将所有IPtable 规则重新保存
这时候,重启防火墙也不会影响 容器使用了。
如果需要复原防火配置即可以使用命令:cp iptables_bak20180705 iptables
浙公网安备 33010602011771号