解决docker与firewalld冲突

2024-07-25 461 0

冲突原因:

如果同时启用了firewalld和docker服务,他们都会对iptables里面的转发链写入规则,firewalld每次启动或者重启都会强制覆盖docker的转发链,同时,docker也会通过更高优先级的策略使firewalld里面配置的条目失效。 

具体冲突的原因见Docker官方文档:https://docs.docker.com/network/iptables/

解决方案:

方案1:

当启动firewalld出现冲突的时候,首先重启firewalld,然后重启docker,注意顺序不可以反过来。

方案2:

仅限于Docker版本大于等于 20.10.0

Docker在最新的版本里自动创建了一个名为docker的 firewalld zone,并把它的所有网络接口(包括docker0)加入到了这个区域里面,执行下面的命令将你的docker0接口移到docker区域。

systemctl start firewalld
firewall-cmd --zone=trusted --remove-interface=docker0 --permanent
firewall-cmd --reload
systemctl restart docker

相关文章

MacBook系统升级到Sequoia15.1 SSH密钥无权限解决
haproxy 负载rabbitmq集群 报client unexpectedly closed TCP connection
Nginx Apache CORS OPTIONS预检请求配置
windows 2012 命令行批量修改文件权限 删除
CICD持续部署 Jenkins 部署
CICD持续集成 SonarQube 代码检测部署

发布评论