docker 重启报错:failed to start daem

2025-06-15  本文已影响0人  承诺一时的华丽

遇到的错误:

failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network

解决步骤(重新创建默认 bridge 网络):
✅ 第一步:停止 Docker 服务

sudo systemctl stop docker

✅ 第二步:删除 Docker 网络配置目录
Docker 网络数据保存在 /var/lib/docker/network 中,可以清除后让它重新初始化:

sudo rm -rf /var/lib/docker/network

如果你设置了 data-root 目录,比如你之前设置的是 /home/xnzf/docker_data,请删除该目录下的 network 子目录:

sudo rm -rf /home/xnzf/docker_data/network

✅ 第三步:检查并清理残留的网络接口
查看是否存在名为 docker0 的接口:

ip link show docker0

如果存在,先删除它:

sudo ip link delete docker0

你也可以清理旧的 br-xxx 接口:

ip link show | grep br-
# 假设有 br-xxxx,删除:
sudo ip link delete br-xxxx

✅ 第四步:检查 Docker 默认地址池设置
如果你在 /etc/docker/daemon.json 中设置了 default-address-pools,请确保配置合理,且不与已有网络冲突。示例:

{
  "data-root": "/home/xnzf/docker_data",
  "registry-mirrors": [
    "https://docker-0.unsee.tech",
    "https://docker-cf.registry.cyou",
    "https://docker.1panel.live"
  ],
  "default-address-pools": [
    {
      "base": "172.30.0.0/16",
      "size": 24
    }
  ]
}

如果 base 设置和你现有的网络冲突(比如公司局域网在 172.30.x.x),可以换一个:

"base": "172.80.0.0/16"

✅ 第五步:重启 Docker

sudo systemctl daemon-reexec
sudo systemctl start docker

🧪 验证

docker network ls

应该可以看到 bridge 网络已正常创建。

上一篇 下一篇

猜你喜欢

热点阅读