docker启动异常

总结摘要
docker启动异常

异常一

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