在使用Docker容器的時候,利用nsenter工具會比較方便,如果我們的系統(tǒng)沒有的話,那就需要我們自己來安裝了
1.首先訪問該網(wǎng)址找到最新版本的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工具進入容器的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。