問題描述:
服務器內存不夠了 需要加8G內存,加內存需要重啟服務器,但是重啟后Docker容器啟動成功,端口也映射了,就是外網訪問不了。
看了下容器是正常運行的端口也是映射成功的:
給阿里雲提工單
給阿里雲提工單了,人家也不知道什么原因,建議我自己抓包排查!!哎。。。
還是自己研究吧
google搜索了一下 關鍵字:docker 重啟 端口映射失效
挑選了如下2篇文章看了下:
https://www.cnblogs.com/zl1991/p/10531726.html
摘要:
摘要:
總結一下 上面2篇文章,關鍵字就是 iptables 服務 和 Docker的端口映射存在關聯
- 第一步我檢查下服務器的iptables服務
可以看出 iptables服務存在問題 居然關不了
- 這里我猜測:可能是因為重啟服務器導致iptables發生問題,iptables 掛了 會影響Docker的端口映射
- 如何救活iptables服務
參考:https://stackoverflow.com/questions/24756240/how-can-i-use-iptables-on-centos-7
-
OK照着做救活了iptables服務
-
開啟iptables服務試了下 沒有問題
-
在iptables開啟的狀態下 嘗試下訪問 依然失敗
-
重新把iptables關閉,嘗試下訪問 成功!!!!
總結:
如果之前Docker容器暴露的端口可以訪問,當你重啟服務器后,訪問不了了。
檢查下是否iptables服務正常,
如果出現類似: Failed to restart iptables.service: Unit not found. 的錯誤,那么就把iptables服務重裝后再試試。我就是這么嘗試成功了!!!