重启服务器后Docker容器暴露的端口外网突然访问不了!!

Posted yudongdong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重启服务器后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服务重装后再试试。我就是这么尝试成功了!!!

以上是关于重启服务器后Docker容器暴露的端口外网突然访问不了!!的主要内容,如果未能解决你的问题,请参考以下文章

WebMvcConfigurer docker 访问不了

如何实现docker服务重启容器不停止

无法通过容器的 ip 和通过 http 暴露的端口访问 Docker 容器中的 Web 应用程序

外网如何访问 Service?- 每天5分钟玩转 Docker 容器技术(139)

docker 端口映射被删除,映射断开问题解决

外网访问内网Docker容器