在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了
1.首先访问该网址找到最新版本的nsenter工具
![](/d/20211016/d226f1fa91b8a42fa61dcee925441635.gif)
2.然后下载nsenter工具的源码到我们的主机上
![](/d/20211016/45cd32df6f1ded65a2f53982c92d9be6.gif)
输入命令:
# wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz
![](/d/20211016/0266e94f08bc86eaa25347475de9850c.gif)
3.解压.tar.gz包
# tar -xzvf util-linux-2.32.tar.gz
![](/d/20211016/94e6cca191e68475f0a3caf78ac8ae8a.gif)
4.进入util-linux-2.32的目录
# cd util-linux-2.32/
![](/d/20211016/3ceeb72aeddba178b13da28bf733af06.gif)
5.输入./configure --without-ncurses命令
6.输入命令make nsenter,编译nsenter
![](/d/20211016/12bbeb53cc339bdfb4e8313d9ce114b6.gif)
7.复制nsenter到/usr/local/bin路径下
# cp nsenter /usr/local/bin
![](/d/20211016/87c33a442ffbb4be22bf04b54375dc57.gif)
8.查看nsenter的使用
# nsenter --help
![](/d/20211016/fb3c007376c45dce831a89ff215a391f.gif)
9.为了连接到容器,我们还需要找到容器的第一个进程的PID,可以通过下面的命令获取
格式:
PID=$(docker inspect --format "{{ .State.Pid}}" <container id>)
通过得到的这个PID,就可以连接到这个容器:
格式:
nsenter --target $PID --mount --uts --ipc --net --pid
10.获取容器第一个进程的PID
输入命令# docker ps查看正在运行的容器
![](/d/20211016/9a8cc1a4fe3adfd30474c6d79bad0c0c.gif)
输入命令查看容器
c74e0f07a914的进程的PID# docker inspect -f {{.State.Pid}} c74e0f07a914
![](/d/20211016/ea51dc2180f3a21ae64189855d7c0826.gif)
10.拿到该进程的PID后进入该容器
输入命令
# nsenter --target 21140 --mount --uts --ipc --net --pid
![](/d/20211016/1ce35d6f72ebd39894c34a6f0fc350a9.gif)
成功进入该容器,21140就是容器c74e0f07a914的进程PID
以上这篇Docker 使用nsenter工具进入容器的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。