新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用nsenter命令進入Docker容器
nsenter命令是一個可以在指定進程的命令空間下運行指定程序的命令。一個最典型的用途就是進入容器的網(wǎng)絡命令空間,本篇文章重點為大家講解一下使用nsenter命令進入Docker容器具體方法。

創(chuàng)新互聯(lián)建站服務項目包括浦口網(wǎng)站建設、浦口網(wǎng)站制作、浦口網(wǎng)頁制作以及浦口網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,浦口網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到浦口省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
查看本機裝沒有nsenter
whereis nsenter或者whatis nsenter
未安裝先安裝,網(wǎng)上有很多這樣的腳本
vi nsenter.sh
#!/bin/bash
curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-
cd util-linux-2.24
./configure --without-ncurses
make nsenter
sudo cp nsenter /usr/local/bin
cd .. && rm -rf util-linux-2.24
保存退出,執(zhí)行腳本就可以安裝nsenter。如果報錯,注意看報錯信息,我是安裝gcc解決了這個問題,之后運用下面腳本進入容器。
vi docker_enter.sh
#!/bin/sh
# 文 檔名: docker_enter.sh
# 版 本: 1.0.1
# 用 途: 使用nsenter工具進入Docker容器
# 用 法:. docker_enter 容器ID或bash -x docker_enter.sh 容器ID
# 正 文:如以下代碼
if [ -e $(dirname "$0")/nsenter ]; then
NSENTER=$(dirname "$0")/nsenter
else
NSENTER=nsenter
fi
if [ -z "$1" ]; then
echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
echo ""
echo "Enters the Docker CONTAINER and executes the specified COMMAND."
echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
PID=$(docker inspect --format "{{.State.Pid}}" "$1")
if [ -z "$PID" ]; then
exit 1
fi
shift
OPTS="--target $PID --mount --uts --ipc --net --pid --"
if [ -z "$1" ]; then
# No command given.
# Use su to clear all host environment variables except for TERM,
# initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
# and start a login shell.
"$NSENTER" $OPTS su - root
else
# Use env to clear all host environment variables.
"$NSENTER" $OPTS env --ignore-environment -- "$@"
fi
fi
保存退出,命令行下執(zhí)行. docker_enter 容器ID或bash -x docker_enter.sh 容器ID,即可成功進入容器
網(wǎng)頁名稱:使用nsenter命令進入Docker容器
網(wǎng)站網(wǎng)址:http://m.5511xx.com/article/cohgijc.html


咨詢
建站咨詢
