该问题大多在服务器异常关闭后,再次启动服务器以及Docker时出现。究其原因,是由于Docker服务异常关闭,导致默认的network未正常清理。报错内容大致如下:

failed to start daemon: Error initializing network controller: 
error creating default "bridge" network: cannot create network
b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (docker0):
conflicts with network
3b9d417c42e816d260136ac354a0d18815e439ef06de24457d7ed651926b012e (docker0): 
networks have same bridge name

最直接的处理方式是将相关的文件删除,让Docker服务自行重新创建。

# 删除相关文件
rm -rf /var/lib/docker/network/files
# 重启Docker服务
systemctl restart docker

此方法能够正常解决Docker服务启动失败的问题。只是这样做会将原来的自定义network也一同删除,但是相关的docker虚拟网卡还在。所以,若是涉及自定义network,还需要选择执行以下操作:

  • 推荐方式
    • 清理相关虚拟网卡
    • 重新创建自定义network
  • 其他方式(不推荐)
    • 修改network的subnet和gateway,避免与原设置冲突(也要避免和其他的网卡冲突)

更多推荐