解决:虚拟机重启后docker容器无法访问

1.情况:

vm宿主机无法访问容器;
虚拟机curl localhost也无法访问;
虚拟机centOS8,docker版本:Version: 20.10.21

2.尝试

网上搜了一堆解决办法,首先排除端口映射问题:
在这里插入图片描述
端口映射正常;
然后检查内核版本和docker版本也没问题;
然后重启docker包括容器,kill进程什么都试过了还是无济于事;
最后终于找到解决方案了:

3.最终解决方案

systemctl stop docker # 停止docker 服务
pkill docker # 杀掉docker进程
iptables -t nat -F # 清理iptables
ip link set docker0 down # 停止docker0网卡
brctl delbr docker0 # 删除docker0网卡--重点!
systemctl start docker # 启动docker服务

最后证明果然是docker0网卡的问题,而且不删除掉网卡重启都没用,只能删除;
然后就会用到brctl这个工具,这个工具怎么yum都找不到,可以尝试手动安装:也很方便

 #首先安装autoconf工具
 yum install autoconf
#bridge-utils-1.6 源码下载,然后上传到服务器
 https://mirrors.edge.kernel.org/pub/linux/utils/net/bridge-utils/bridge-utils-1.6.tar.xz​
#源码解压
 tar -xvf bridge-utils-1.6.tar.xz​

解压完以后进入 bridge-utils-1.6文件夹
在这里插入图片描述

#使用 autoconf 工具生成配置文件
 autoconf

PS:autoconf工具在.ac文件目录下直接输入命令,不需要指定文件,,要是搞错了就只能删除文件夹重新解压一次(不懂这个工具的话);
在这里插入图片描述

#配置,生成makefile文件
 ./configure​
#编译与安装
 make
 make install
#最后测试使用情况:
brctl show

在这里插入图片描述
最后重启docker以后再测试连接情况:
在这里插入图片描述
终于成功连上了!

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
虚拟机Docker是两种不同的虚拟化技术。 虚拟机是一种通过模拟整台机器包括硬件的方式来创建多个独立的虚拟环境的技术。每个虚拟机都需要有自己的操作系统,并且一旦被开启,预分配给它的资源将全部被占用。常见的虚拟机操作软件有VMware等。\[1\] Docker是一种轻量级的容器化技术,它利用操作系统级的虚拟化来创建和管理容器。与虚拟机不同,Docker容器共享宿主机的操作系统,因此可以更加高效地利用资源。Docker容器包含应用程序、依赖的二进制和库,以及运行所需的最小化操作系统。Docker可以快速部署、扩展和管理应用程序,提供了更加灵活和便捷的开发和部署环境。\[1\] 关于Docker的常用指令,可以使用以下指令来启动、停止、重启和设置Docker开机自启: 启动Docker: sudo systemctl start docker 查看Docker启动状态: sudo systemctl status docker 停止Docker: sudo systemctl stop docker 重启Docker: sudo systemctl restart docker 设置Docker开机自启: sudo systemctl enable docker 请注意,以上指令是针对使用systemd作为服务管理器的Linux系统。在其他系统上可能会有所不同。\[3\] #### 引用[.reference_title] - *1* [Docker虚拟机的区别](https://blog.csdn.net/c_hanhan/article/details/126759177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [虚拟机/云服务器安装docker](https://blog.csdn.net/weixin_47277464/article/details/127766127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值