1、docker重启容器出现(一直启动不了)
Error response from daemon: Cannot restart container a6: driver failed programming external connectivity on endpoint hyperf555 (695a636db090a7ed2d5843dbd3df5f0bb5913f1d4671de6688a657ed40787740): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9501 -j DNAT --to-destination 172.17.0.4:9501 ! -i docker0: iptables: No chain/target/match by that name.
2、分析
主要是因为在启动docker容器的时候或者做docker配置的时候,还对防火墙设置重新启动等配置
这样会清除docker的相关配置,导致在查询防火墙规则的时候显示不到docker的链
可以通过iptables -L 查询iptables 链
具体原因是你删除了iptables中的链
删除链接的方式有很多种
3、解决
既然是firewalld重启导致
而docker重启又会将其注册iptables链回来
那么 我们只需要将其重启docker容器即可解决该问题
systemctl restart docker