docker与firewalld冲突问题及解决过程
更新时间:2025年09月25日 09:07:22 作者:培根芝士
文章指出firewalld与Docker竞争iptables转发链规则,导致互相覆盖,解决方案一是先重启firewalld再重启Docker;二是针对Docker 20.10.0以上版本,将docker0接口移至docker区域以避免冲突
冲突原因
如果同时启用了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区域。
firewall-cmd --zone=trusted --remove-interface=docker0 --permanent
firewall-cmd --reload
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Docker部署前后端分离项目的三种方式小结
本文主要介绍了Docker部署前后端分离项目的三种方式小结,包含通过两个容器部署,通过compose编排容器自动部署和将前后端项目打成一个镜像部署的三种方式,具有一定的参考价值,感兴趣的可以了解一下
2024-03-03
IntelliJ IDEA中Docker使用方式
本文介绍了如何在IntelliJ IDEA中使用Docker插件进行Docker的配置和使用,包括下载插件、启动Docker守护进程、配置Docker注册表、构建Docker镜像以及发布镜像加载容器配置
2024-11-11
如何修改Docker镜像的映射端口号
这篇文章主要介绍了如何修改Docker镜像的映射端口号问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
2024-04-04
查看docker项目配置文件的三种方法
这篇文章主要给大家介绍了关于查看docker项目配置文件的三种方法,从而帮助刚入行的开发者更好地理解和应用这一功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
2024-07-07
docker镜像完全卸载的操作步骤
这篇文章主要介绍了docker镜像完全卸载的操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
2021-03-03
docker端口映射的实现示例
Docker 端口映射允许我们将容器内部的服务绑定到宿主机上的一个或多个端口,本文主要介绍了docker端口映射的实现示例,具有一定的参考价值,感兴趣的可以了解一下
2024-03-03
将Docker容器打包并在其他服务器上运行的全过程
Docker容器使得应用程序的部署和管理变得更加简单和高效,有时,我们可能需要将一个运行中的Docker容器打包,并在其他服务器上运行,本文将详细介绍如何实现这一过程,需要的朋友可以参考下
2024-05-05
最新评论