firewall的底层是使用iptables进行数据过滤,建立在iptables之上,而docker使用iptables来进行网络隔离和管理,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。
iptables -L 查询iptables 链
解决方法:
让Docker 绕过了 firewalld
systemctl stop firewalld
vim /etc/docker/daemon.json
{
...
"experimental" : true,
"iptables": false
}
systemctl daemon-reload
systemctl restart docker
systemctl restart firewalld
systemctl restart docker
此外,建议firewall防火墙开启NAT转发功能,解决阻止docker容器访问外界IP
见 https://blog.csdn.net/liyanggyang/article/details/128838350
firewall-cmd命令可参考:防火墙firewall-cmd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)