主机无法访问虚拟机里的docker容器里的服务

问题:在某天早上我想练习一下docker容器和activemq中间件的使用,然后就在我电脑的虚拟机里安装了activemq,但是在安装好activemq之后,我用我的浏览器输入虚拟机的IP地址和端口号想访问虚拟机里的activemq的时候发现无法访问。

问题原因:docker的网卡配置出了问题,需要重新配置网卡

问题排查:首先我也是看了很多的博客才确定问题所在的,首先使用以下命令行来看看你是不是这样的问题。

curl localhost:8161

这个就是在虚拟机上尝试链接activemq,docker是运行在linux上也就是我们的centos系统上,所以按照常理centos来ping通由他产生的docker容器天经地义,但事实就是这么打脸,访问不通.

报错:curl: (56) Recv failure: Connection reset by peer

意思是:链接被对方重设,那么你有可能就是docker的网卡配置出了问题要重设网卡了。

重设网卡

#停止docker
systemctl stop docker
#docker0
ip link set dev docker0 down
#删除docker0网桥
brctl delbr docker0
#增加docker0 网桥
brctl addbr docker0
#增加网卡
ip addr add 172.16.10.1/24 dev docker0
#启用网卡
ip link set dev docker0 up
#重启docker服务
systemctl restart docker

然后我在执行到brctl开头的命令行的时候,就报错无法识别该字段,然后就上网查了一下执行以下语句

yum install bridge-utils

但是在执行上面那个语句的时候还是报错,报错如下:

上次元数据过期检查:0:00:41 前,执行于 2023年06月15日 星期四 15时32分26秒。
未找到匹配的参数: bridge-utils
错误:没有任何匹配: bridge-utils

然后我只能又查了,看到了另一位博主的操作,那个博主在发现这个问题的时候他是重新配置了一下镜像源,我就以为我之前配置的镜像源过期了,所以我也跟着配置了,操作如下:

yum install -y wget
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
yum clean all
yum makecache

 这里提示一下如果你的是centos7,那么Centos-8.repo改为Centos-7.repo,更新完之后我重新执行上面的install命令还是不行,那应该就不是镜像源的问题,所以再搜,很幸运,一下子就找到了解决方法,是CentOS 8没有安装epel源的问题。安装epel源后问题解决。

yum install epel-release

最后在执行yum install bridge-utils就可以啦,最后继续完成上面的重置网卡的操作就可以了。

这篇文章算是多个博主的总结,解决问题真的要耗费很多前人的智慧呀,向他们致敬。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值