记一次神奇的docker-compose访问网络不通问题

最近要搭建一个单机的es系统用来做测试,本以为是一个非常简单的事情,毕竟之前就已经使用docker搭建过es,实在是非常简单的事情。

直接找出之前编写的docker-compose 文件

运行docker-compose 命令上线,成功运行,也没报错,按说应该正常可以访问了,这个时候神奇的一抹发生了,我访问 ip:9400, 居然没任何响应?

这下将我搞蒙了,赶紧查看相关的日志,没有任何报错信息,然后又检查网络,检查权限,奇怪了,没有任何有价值的信息。而这个docker-compose文件是之前运行过的,没有任何问题,我又从其他的容器中对这个容器进行ping操作,可以ping通,但就是没有响应。

再次检查配置文件,

还是没发现问题,折腾了一下午,还是没头绪,突发奇想,用最原始的方式运行。

这下,访问居然正常了!!!!!!

这下重点百度这一块的信息,找到相关的信息,说是数据包转发的问题

按照这位哥们的方案进行处理,还是没效果,还有说防火墙问题的,一一排除掉。依然没解决,只能docker run 方式开启,docekr-compose就是不行。

搞到这个时候,基本可以确定是docker-compose 的问题,我又在docker run 方式里面加入网络,还是不行。

但忽然灵机一动,是不是端口的问题,我将 9400 端口替换成 es默认的9200 端口,再次上线,居然OK了

为什么换了端口就行了,查看是否端口占用,没有端口占用,最奇怪的是,之前这个docker-compose是经过验证的。但终究,现在docker-compose 可以运行了。其他的容器也能连接上它了,猜测原因,可能es的问题,也可能docker-compose 的网络问题。

对比了下之前和现在的docker, docker ps 命令,之前是

的形式,现在是下面这种

这 ::: 三个冒号表示什么意思?

学海无涯,学无止境啊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章