You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora33执行docker system prune后Docker因docker0区域绑定冲突启动失败

解决Fedora 33上Docker执行system prune后无法启动的问题

我之前也碰到过类似的情况,这是Docker网桥docker0和Firewalld区域绑定冲突导致的——执行docker system prune时清理了Docker的网络配置,但Firewalld里的网卡绑定关系没同步清除,Docker重启时要重新初始化网络控制器,就撞了冲突。

快速修复步骤:

  1. 先彻底停掉Docker服务:
    sudo systemctl stop docker
    
  2. 查一下docker0当前绑定的Firewalld区域:
    sudo firewall-cmd --get-zone-of-interface=docker0
    
    你大概率会得到public这类区域名称。
  3. 把docker0从这个区域里移除:
    sudo firewall-cmd --zone=public --remove-interface=docker0
    
    (记得把public换成你上一步查到的实际区域)
  4. 重启Firewalld让配置生效:
    sudo systemctl restart firewalld
    
  5. 重新启动Docker服务:
    sudo systemctl start docker
    
  6. 验证一下Docker是否正常跑起来:
    systemctl status docker
    

永久避免该问题:

要是不想下次重启系统后再踩这个坑,可以加--permanent参数做永久配置:

sudo firewall-cmd --permanent --zone=public --remove-interface=docker0
sudo systemctl restart firewalld

为啥会出这个问题?

Docker启动时会默认创建bridge网络,还要给docker0网卡配置NAT规则。当docker0已经被Firewalld的某个区域绑定后,Docker没法修改它的网络规则,就会抛出ZONE_CONFLICT: 'docker0' already bound to a zone的错误,直接导致守护进程启动失败。

内容的提问来源于stack exchange,提问作者Alon Barad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:48:28