出现此类问题,一般是以下几种情况:
①宿主机防火墙未关闭或者端口被拦截
- 最暴力的做法,直接一条命令关闭防火墙即可,不安全
命令:
systemctl stop firewalld & systemctl disable firewalld
- 在防火墙中配置开放的端口,安全但是配置麻烦
②linux内核版本过低
docker网络通信要求最低的linux内核版本是3.10以上,所以小编也是被这个问题困扰了许久,docker容器中的服务是正常的,端口也做了映射,宿主机的防火墙也关闭了,但是网络一直不通,无法访问,费劲心思,原来是宿主机服务器内核版本过低,一般默认的都是3.10,目前只能升级系统内核或者安装内核版本搞的linux服务系统。内核升级教程,请参考此篇博客,教程较为详细。