本篇内容主要讲解“怎么使用nsenter命令进入Docker容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用nsenter命令进入Docker容器”吧!nsenter命令是一个可以在指
本篇内容主要讲解“怎么使用nsenter命令进入Docker容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用nsenter命令进入Docker容器”吧!
nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。一个最典型的用途就是进入容器的网络命令空间。
查看本机装没有nsenter
whereis nsenter或者whatis nsenter
未安装先安装,网上有很多这样的脚本
vi nsenter.sh#!/bin/bashcurl 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-ncursesmake nsentersudo cp nsenter /usr/local/bincd .. && rm -rf util-linux-2.24保存退出,执行脚本就可以安装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 ]; thenNSENTER=$(dirname "$0")/nsenterelseNSENTER=nsenterfiif [ -z "$1" ]; thenecho "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."elsePID=$(docker inspect --fORMat "{{.State.Pid}}" "$1")if [ -z "$PID" ]; thenexit 1fishiftOPTS="--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 - rootelse# Use env to clear all host environment variables."$NSENTER" $OPTS env --ignore-environment -- "$@"fifi
保存退出,命令行下执行. docker_enter 容器ID或bash -x docker_enter.sh 容器ID,即可成功进入容器
到此,相信大家对“怎么使用nsenter命令进入Docker容器”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: 怎么使用nsenter命令进入Docker容器
本文链接: https://www.lsjlt.com/news/309424.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0