docker容器内的网络诊断

概述

容器很好用,但是容器要是出现网络问题就头大,比如说几十个容器中有一个容器疯狂乱发报文冲击防火墙. 防火墙可不管你,直接就把整个宿主机拉入小黑屋.

凡是网络问题,工具不顶用就要考虑抓包了,,我们可以抓宿主机的包,也可以通过nsenter抓某个容器的包.

比如我这有一个案例,一个容器不断的请求dns.

不需要每个docker都安装抓包工具,只要宿主机有tcpdump就可以了,利用nsenter,用来进入到进程的linux namespace中。centos7自带

#获取容器的pid
docker inspect 1d4d8cdf0dc4 -f '{{.State.Pid}}'
5583
#进入容器的namespace
nsenter -n -t  5583

抓包就用 tcpdump -i 网卡名 host 只抓取指定的ip

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。