平常定位故障,进入容器后经常发现有些命令未安装,比如tcpdump等,影响故障定位。可以通过从宿主机进入容器网络,再执行相关命令。
-
首先确保宿主机上已安装相关库或者命令
-
进入容器网络
docker ps | grep aaa 查看container_id
docker inspect -f ‘{{.State.Pid}}’ $container_id 查看容器进程号pid
nsenter -t $pid -n /bin/sh 进入进程 pid的network namespace中 -
执行需要执行的指令,如抓包等…