docker启动异常

总结摘要
docker启动异常

异常一ddd

dockerd 启动提示:(docker0): networks have same bridge name

原因分析

使用 docker-compose 的方式部署时,默认的网络模式是bridge , 默认网段是172.17.0.1/16,即docker0。自动生成的网桥会依次使用:172.18.x.x ,172.19.x.x…. 这些docker生成的网段可能与内网网段有冲突。

解决方法

  • 编辑docker配置文件 /etc/docker/daemon.json

    添加以下内容

    1
    2
    3
    
    "debug": true,
    "bip": "100.100.1.1/24",
    "default-address-pools":[{"base":"100.100.0.0/16","size":24}],
  • 删除有冲突的bridge,并重启docker

    1
    2
    3
    
    ip link delete docker0
    ip link delete xxx
    dockerd
  • 如果 dockerd 还是提示同样的错误,可能是之前 docker compose 配置

    文件里设置的自动重启的配置(restart: always)。且docker配置文件中配置了 data-root,需移除该配置目录,并创建一个新目录。以此来删除 docker compose 中自动重启的配置。

    1
    2
    3
    
    mv data-root配置的目录 xxx
    mkdir -p data-root配置的目录
    dockerd