爬坑记录------容器内外网络不通,端口无法访问
背景:客户需要一套datahub用于分许sparksql血缘,因此需要基于docker搭建,在搭建过程中遇到一个较坑的问题,这里做以记录
搭建完成后查看docker容器已经正常启动
查看红框中的内容信息,datahub容器中的端口映射的为本机的9002端口,这个也可以通过docker port datahub容器ID查看
使用nmap发现9002端口也已经映射成功
怀疑是防火墙导致的,于是查看防火墙策略
查看防火墙没问题,继续排查是否为路由或者是网络冲突导致,查看路由以及网络情况
排查网络无冲突,路由也无异常,既然网络容器都正常为什么进不去呢?于是进入容器内部查看服务是否真的正常
查看容器内部端口服务没问题,可以看到执行curl也没有问题
查阅资料后发现有可能是docker 加载内核的bridge.ko 驱动异常,导致docker0 网卡无法转发数据包,也就是系统内核的网桥模块bridge.ko 加载失败导致的,尝试升级系统内核,目前是3.10版本的内核升级到5.4版本
升级内核后测试通过