新聞中心
nsenter命令是一個(gè)可以在指定進(jìn)程的命令空間下運(yùn)行指定程序的命令。一個(gè)最典型的用途就是進(jìn)入容器的網(wǎng)絡(luò)命令空間,本篇文章重點(diǎn)為大家講解一下使用nsenter命令進(jìn)入Docker容器具體方法。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括浦口網(wǎng)站建設(shè)、浦口網(wǎng)站制作、浦口網(wǎng)頁(yè)制作以及浦口網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,浦口網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到浦口省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
查看本機(jī)裝沒(méi)有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。如果報(bào)錯(cuò),注意看報(bào)錯(cuò)信息,我是安裝gcc解決了這個(gè)問(wèn)題,之后運(yùn)用下面腳本進(jìn)入容器。
vi docker_enter.sh
#!/bin/sh
# 文 檔名: docker_enter.sh
# 版 本: 1.0.1
# 用 途: 使用nsenter工具進(jìn)入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,即可成功進(jìn)入容器
文章題目:使用nsenter命令進(jìn)入Docker容器
文章鏈接:http://www.fisionsoft.com.cn/article/cohgijc.html


咨詢(xún)
建站咨詢(xún)
