如何解决网桥错误导致docker启动失败的问题
问题说明
最近在往docker里面添加一个容器时出现了问题,于是准备重启一下docker服务,谁知道启动不了了,使用dockerd命令启动docker daemon时报错:Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: Could not create nat/DOCKER chain,错误如下:
使用命令:systemctl start docker.service启动docker的话也会报错:Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details,然后使用命令:systemctl status docker.service查看详细的报错信息:
问题分析
在网上查了很多解决方法,大概有以下几类:
1、删除目录(/var/lib/docker/network/):rm -rf /var/lib/docker/network/
2、手动添加下docker0网桥:
brctl addbr docker0
ip addr add 172.17.0.1/16 dev docker0
ip link set dev docker0 up
systemctl restart docker
3、在/etc/docker/daemon.json中添加内容,然后重新加载daemon.json配置(systemctl daemon-reload),启动docker:
{ "graph": "/mnt/docker-data", "storage-driver": "overlay" }
4、如果daemon.json中配置了国内镜像的话将daemon.json文件后缀改为.conf,然后重新加载daemon.json配置(systemctl daemon-reload),启动docker
5、卸载docker,重新安装:
查询安装过的包
yum list installed | grep docker
本机安装过旧版本
docker.x86_64,
docker-client.x86_64,
docker-common.x86_64
删除安装的软件包
yum -y remove docker.x86_64
yum -y remove docker-client.x86_64
yum -y remove docker-common.x86_64
把yum包更新到最新
sudo yum update
安装docker
sudo yum install docker
可惜的是,上面的方法试了以后都没有解决我的问题。
问题解决
最后在一篇文章里Docker 自定义网桥后,无法正常启动问题找到了解决方法:
就是新建自定义网桥docker_new0:
brctl addbr docker_new0
然后docker就可以正常启动使用了,感觉很神奇,还不明白具体是怎么回事,后面会深入研究一下背后的原理。
- 1vue和el-table使用经验-如何刷新表格数据10882
- 2three.js加载3D瓦片和3dtiles数据生成交互式地图的开源项目9445
- 3Microsoft Visual C++ Redistributable是什么,有什么作用?7178
- 4mybatis使用经验——mybatis-spring-boot-starter和mybatis的版本对应关系表(持续更新~)5754
- 5uni-app使用经验—vue页面和html页面如何互相调用接口并传参5436
- 6Spring学习经验—@ResponseBody注解的使用说明4844
- 7Intellij IDEA下的版本控制VCS的启用与关闭4783
- 8Druid异常解决经验—java.sql.SQLException url not set4461
- 9如何用批处理命令(bat脚本)启动和停止windows服务4229
- 10nuxt.js项目中如何添加和使用全局变量4097
- 11解决SpringBoot使用maven下载不了jar包的问题3451
- 12linux中解压tar.gz文件报错“gzip: stdin: invalid compressed data--format violated”3342
- 13nuxtjs asyncData使用经验—如何发起多个axios请求并携带参数3205
- 14在Nuxt.js项目的head中引用外部js文件3042
- 15在NVIDIA控制面板设置参数时提示“拒绝访问 无法应用选定的设置到您的系统”的解决方法之一3018