Docker容器中的服务无法访问,网络不通报No route to host的解决方案

Posted 北溟溟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker容器中的服务无法访问,网络不通报No route to host的解决方案相关的知识,希望对你有一定的参考价值。

出现此类问题,一般是以下几种情况:


①宿主机防火墙未关闭或者端口被拦截

  • 最暴力的做法,直接一条命令关闭防火墙即可,不安全

命令:

systemctl stop firewalld & systemctl disable firewalld
  • 在防火墙中配置开放的端口,安全但是配置麻烦

②linux内核版本过低
docker网络通信要求最低的linux内核版本是3.10以上,所以小编也是被这个问题困扰了许久,docker容器中的服务是正常的,端口也做了映射,宿主机的防火墙也关闭了,但是网络一直不通,无法访问,费劲心思,原来是宿主机服务器内核版本过低,一般默认的都是3.10,目前只能升级系统内核或者安装内核版本搞的linux服务系统。内核升级教程,请参考此篇博客,教程较为详细。

CentOS 7内核升级_sjy_2010的专栏-CSDN博客_centos7 内核升级

以上是关于Docker容器中的服务无法访问,网络不通报No route to host的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

docker技术剖析--docker网络

docker的网络管理(1)

docker网络技术剖析

docker网络

docker网络

07-docker端口映射与容器关联