本文最后更新于 962 天前,其中的信息可能已经有所发展或是发生改变。
linux-nsenter命令使用
简介
nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。它位于util-linux
包中。
用途
一个最典型的用途就是进入容器的网络命令空间。相当多的容器为了轻量级,是不包含较为基础的命令的,比如说ip address,ping,telnet,ss,tcpdump
等,这就给调试容器网络带来相当大的困扰:只能通过docker inspect ContainerID命令获取到容器IP,以及无法测试和其他网络的连通性。这时就可以使用nsenter命令仅进入该容器的网络命名空间,使用宿主机的命令调试容器网络。
用法
安装
util-linux 是一个开放源码的软件包,是一个对任何 Linux 系统的基本工具套件。含有一些标准 Unix 工具,如 login。
util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器,打开 tty 端口和得到内核消息。
yum安装
yum install -y util-linux
示例
运行一个openjdk:8-jdk-alpine
容器,查看该容器的pid:
在Kubernetes中,在得到容器pid之前还需获取容器的ID,可以使用如下命令获取