爬坑记录------容器内外网络不通,端口无法访问

恩慈9个月前技术文章315

背景:客户需要一套datahub用于分许sparksql血缘,因此需要基于docker搭建,在搭建过程中遇到一个较坑的问题,这里做以记录


  1. 搭建完成后查看docker容器已经正常启动

    image.png

  2. 查看红框中的内容信息,datahub容器中的端口映射的为本机的9002端口,这个也可以通过docker port datahub容器ID查看

    image.png

  3. 使用nmap发现9002端口也已经映射成功

    image.png

  4. 怀疑是防火墙导致的,于是查看防火墙策略

    1693382908678.jpg

  5. 查看防火墙没问题,继续排查是否为路由或者是网络冲突导致,查看路由以及网络情况

    image.png

    image.png

  6. 排查网络无冲突,路由也无异常,既然网络容器都正常为什么进不去呢?于是进入容器内部查看服务是否真的正常

    image.png

  7. 查看容器内部端口服务没问题,可以看到执行curl也没有问题

    image.png

  8. 查阅资料后发现有可能是docker 加载内核的bridge.ko 驱动异常,导致docker0 网卡无法转发数据包,也就是系统内核的网桥模块bridge.ko 加载失败导致的,尝试升级系统内核,目前是3.10版本的内核升级到5.4版本

    image.png

  9. 升级内核后测试通过

    image.png

相关文章

MySQL运维实战(3.2) 常见数据库连接失败问题排查

如果数据库连接失败,可以从如下几方面来排查:1、客户端到服务端的网络是否畅通,服务端端口是否能连通。使用ping、telnet等工具探测服务端的端口是否能访问。[root@box3 ~]#&...

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别1. Ingress Controllerk8s 是通过一个又一个的 controller 来负责监控、维护集群状态。Ingress Controller...

linux开启Firewall白名单限制ip访问

linux开启Firewall白名单限制ip访问

1、Firewalld是否启动成功systemctl start firewalld && systemctl enable firewalld 1 2、开启规则需求:客户由...

K8s数据持久化

K8s数据持久化

一、为什么需要持久化为了解决pod里面的容器被删除后数据不丢失,则引入了存储类型,类似于docker中的数据卷。在kubernetes集群中,其是支持多种存储类型,包括但不限于emptyDir,Hos...

达梦数据库初始化

达梦数据库初始化

1、dm数据库初始化认证dm数据库默认开启了ssl,在第一次登录时,使用SYSDBA用户登录,需要通过命令指定对应的ssl文件。不然会出现ssl 初始化失败的报错./disql SYSDBA/SYSD...

Greenplum数据库建立外部表加载HDFS文件实践指导

Greenplum数据库建立外部表加载HDFS文件实践指导

环境概述(1)     Greenplum数据库版本号Greenplum Database 4.3.0.0POC3 build 45206(基于PostgreS...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。