1. 程式人生 > >重啟伺服器後Docker容器暴露的埠外網突然訪問不了!!

重啟伺服器後Docker容器暴露的埠外網突然訪問不了!!

 

問題描述:

伺服器記憶體不夠了 需要加8G記憶體,加記憶體需要重啟伺服器,但是重啟後Docker容器啟動成功,埠也映射了,就是外網訪問不了。

看了下容器是正常執行的埠也是對映成功的:

給阿里雲提工單

給阿里雲提工單了,人家也不知道什麼原因,建議我自己抓包排查!!哎。。。

還是自己研究吧

google搜尋了一下 關鍵字:docker 重啟 埠對映失效

挑選瞭如下2篇文章看了下:

https://www.cnblogs.com/zl1991/p/10531726.html

摘要:

https://py3.io/Docker/

摘要:

總結一下 上面2篇文章,關鍵字就是 iptables 服務 和 Docker的埠對映存在關聯

  1. 第一步我檢查下伺服器的iptables服務

可以看出 iptables服務存在問題 居然關不了

  1. 這裡我猜測:可能是因為重啟伺服器導致iptables發生問題,iptables 掛了 會影響Docker的埠對映
  2. 如何救活iptables服務

參考:https://stackoverflow.com/questions/24756240/how-can-i-use-iptables-on-centos-7

  1. OK照著做救活了iptables服務

  2. 開啟iptables服務試了下 沒有問題

  3. 在iptables開啟的狀態下 嘗試下訪問 依然失敗

  4. 重新把iptables關閉,嘗試下訪問 成功!!!!

總結:

如果之前Docker容器暴露的埠可以訪問,當你重啟伺服器後,訪問不了了。

檢查下是否iptables服務正常,

如果出現類似: Failed to restart iptables.service: Unit not found. 的錯誤,那麼就把iptables服務重灌後再試試。我就是這麼嘗試成功了!!!