公司使用docker在部署一些实际的项目时候时常出现一些灵异的网络问题导致服务不可用之类的。

根据资料查询结合自己已知的centos7的防火墙默认为 firewall但firewall 的底层是使用iptables进行数据过滤的而docker也是使用iptables来进行网络隔离和管理。正好最近出问题是因为添加防火墙策略相关操作之后发生的。

分析之后的原因为Centos7的firewall与Docker 产生冲突。在修改了 firewalld规则之后重启,或者在docker启动之后才启动firewall,firewall将从iptables中移除docker的规则,从而影响了 Docker 的正常工作。

清除现有的docker 容器,关闭docker启动防火墙,或者重启防火墙重启docker服务重新创建新的容器。