firewall docker 冲突问题解决(亲测有效)
# 关闭iptables,使用firewall
 systemctl disable iptables # 禁用服务
 systemctl stop iptables    # 关闭服务
 systemctl status iptables  # 查看服务状态
 systemctl enable firewalld # 设置防火墙开机自启动
 systemctl start firewalld  # 开启服务
 systemctl status firewalld # 查看服务状态
vi /etc/docker/daemon.json
 加入配置:
 "iptables": false
 示例:
 {
   "registry-mirrors": ["https://ci10r6ps.mirror.aliyuncs.com"],
   "iptables": false
 }
 保存退出
# 重启docker使其生效
 systemctl restart docker
# 配置firewall白名单,比如:
 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.8.172.57" port protocol="tcp" port="8100" accept'
 firewall-cmd --reload
# 解决docker容器无法访问外部网络
 可能原因:
 宿主机防火墙没有开启net转发导致。
解决方法:
 1、查询防火墙是否开启了net转发.no代表尚未开启net转发
 firewall-cmd --query-masquerade
 no
 2、开启net转发
 firewall-cmd --zone=public --add-masquerade --permanent
 firewall-cmd --reload
 3、不需要重启docker,当前容器已恢复正常
