记录一次修改虚拟机静态ip的坑-与docker有关

修改虚拟机静态ip的坑(与docker有关)

由于我换了个移动wifi,我想把自己电脑上的虚拟机的静态ip也更改一下,但是改完静态ip之后我发现我可以ping得通我的虚拟机ip,但是用telnet命令访问我的3306端口却访问不通了,以至于我连不到我的mysql。

一、问题排查思路

首先由于我的虚拟机里面的软件都是用docker安装的,所以我就用

docker ps

查看我的运行中的容器

然后发现其实我的容器都是正常启动的,但是通过我自己的主机死活连接不上我虚拟机里面的mysql,于是我就想是不是防火墙原因

systemctl status firewalld.service

通过上面的命令发现我的防火墙根本就没有开。

我在外网用下面的命令测试连接虚拟机与虚拟机中的mysql.

ping 虚拟机的ip   这里是可以ping的通的
telnet 虚拟机ip 3306   发现还是访问不通我的mysql

没办法,再用浏览器链接试一下我安装的kibana容器。

发现kibana也用不了。此时我就把问题矛头指向了我的docker,怀疑是不是重新配置了虚拟机的静态ip之后要把docker重启一下,因为docker应该是有一个代理容器ip与宿主机ip的过程。于是我就用下面的命令重启了我的docker。

sudo systemctl restart docker

果然,重启了docker之后通过我的主机就可以连接上我虚拟机里面的mysql了。

但是我的kibana还是连不上,还是比较纳闷。而且通过我的主机telnet访问kibana是可以访问得通的,但是浏览器还是访问不到。

没办法,只能看一下kibana的启动日志了。

docker logs kibana的容器id

发现如下情况

{"type":"log","@timestamp":"2023-10-31T06:29:53Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://172.20.10.11:9200/"}
{"type":"log","@timestamp":"2023-10-31T06:29:53Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}

顿时又恍然大悟了,kibana想要链接我的elasticsearch,但是连得还是以前的ip,于是需要修改kibana的配置

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.20.10.11:9200 -p 5601:5601 \
-d kibana:7.4.2

172.20.10.11为自己的虚拟机ip   ifconfig命令查看

这是之前绑定启动kibana容器与elasticsearch的命令,所以得修改容器,我询问chatgpt得得到如下结论。

使用 Docker 运行容器时,你可以使用 docker update 命令来更改容器的配置。不过,这个命令不支持更改容器的主机端口映射。

如果需要更改容器端口映射,你需要删除原先的容器,并重新创建一个新的容器来实现更改。以下是大致的步骤:

  1. 停止并删除现有的 Kibana 容器:

    docker stop kibana
    docker rm kibana
    
  2. 使用新的命令重新运行 Kibana 容器,并更新 Elasticsearch 的地址:

    docker run --name kibana -e ELASTICSEARCH_HOSTS=http://NEW IPADDR -p 5601:5601 \ -d kibana:7.4.2
    

大功告成。

二、总结

通过以上情况问题我总结了我的几个结论观点:

  • 重新配置了虚拟机的静态ip之后如果之前是使用docker安装的mysql等容器,需要重启docker与容器。dkcoer应该是有一个代理宿主机与容器之间的一个ip。
  • kibana容器启动的时候一般是基于安装的elasticsearch的。静态ip修改了之后kibana自然也得重新绑定,这里是借鉴的gpt的说法删除容器之后,重新绑定启动的一个新的kibana
    a容器启动的时候一般是基于安装的elasticsearch的。静态ip修改了之后kibana自然也得重新绑定,这里是借鉴的gpt的说法删除容器之后,重新绑定启动的一个新的kibana
  • 解决问题的步骤无非就是先看容器是否启动,然后再看防火墙是否设置了端口权限,再重启容器查看启动日志,最后再定位问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厌世小晨宇yu.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值