容器里没有ping命令怎么检查容器网络与其他pod、节点、或外部网络的连通性
经常会碰到在容器中无法使用ping、telnet等命令的情况,这种情况,可以在容器对应的network namespace下执行ping、telnet命令,只要节点上有这些命令即可:方法一(使用nsenter命令):1、获取容器pid,执行下面的命令,获取pid的值docker inspect [容器名]2、进入容器对应的network namespacensenter-n-t[容器pid]3、执
·
经常会碰到在容器中无法使用ping、telnet等命令的情况,这种情况,可以在容器对应的network namespace下执行ping、telnet命令,只要节点上有这些命令即可:
方法一(使用nsenter命令):
1、获取容器pid,执行下面的命令,获取pid的值
docker inspect [容器名]
2、进入容器对应的network namespace
nsenter -n -t [容器pid]
3、执行ping、telnet操作
ping x.x.x.x 或者telnet x.x.x.x [port]
4、退出network namespace
exit
方法二(使用ip命令)
1、获取容器pid,执行下面的命令,获取pid的值
docker inspect [容器名]
2、创建network namespace软连接
ln -s /proc/[容器pid]/ns/net /var/run/netns/[容器名]
3、让命令在容器的network namespace下执行
ip netns exec [容器名] ifconfig
ip netns exec [容器名] ping 192.168.1.1
更多推荐
已为社区贡献1条内容
所有评论(0)