解决 防火墙重启带来 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

posted on 2018-07-05 17:09  yaobo  阅读(2387)  评论(0)    收藏  举报