記一次神奇的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 命令,之前是

的形式,現在是下面這種

這 ::: 三個冒號表示什麼意思?

學海無涯,學無止境啊!

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