nsenter工具 通过docker pid进入到docker容器里

pid 可以是dockerID 也可以是docker 里面起的进程ID

##安装
wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz
tar -xzvf util-linux-2.32.tar.gz
cd util-linux-2.32/
./configure --without-ncurses
make nsenter
cp nsenter /usr/local/bin
##为了连接到容器,我们还需要找到容器的第一个进程的PID,可以通过下面的命令获取
PID=$(docker inspect --format "{{ .State.Pid}}" <container id>)
top
nsenter --target PID --mount --uts --ipc --net --pid
##进入到docker之后
env ##查看环境变量信息 获取到docker 的hostname 这是docker 编号
docker inspect 容器编号  ##查看容器详细信息

原文地址:https://blog.51cto.com/1014810/2475215

时间: 2024-11-08 09:20:24

nsenter工具 通过docker pid进入到docker容器里的相关文章

使用nsenter工具进入Docker容器

vi docker_enter.sh #!/bin/sh # 作   者: chengcheng # 时   间: 2018-03-08 # 文 档名: docker_enter.sh # 版   本: 1.0.1 # 用   途: 使用nsenter工具进入Docker容器 # 用   法:. docker_enter 容器ID或bash -x docker_enter.sh 容器ID # 正   文:如以下代码 if [ -e $(dirname "$0")/nsenter ];

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,

Docker系列(二)---容器

创建容器 新建容器 方法一: [[email protected]]# docker run -it centos:6 echo "hello" hello 方法二: [[email protected]]# docker create -it centos:6 echo "hello" c97b4ca48ce2f2065230398c57955c9ab9a31a3af9301217a626a16471697451 使用方法二创建的容易处于停止状态,使用docker

Docker第二章:docker基础1--镜像,容器&amp;仓库

1.镜像 Dcoker运行容器之前需要本地存在对应的镜像,如果本地不存在对应的镜像,Docker会尝试从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的本地仓库. 下载一个镜像到本地 命令:docker pull centos [[email protected] ~]# docker pull centos #可以指定特定版本的镜像 latest: Pulling from centos 5932f74ff0cd: Pull comple

Docker学习总结之docker入门(转自:Vikings翻译)

Understanding Docker 以下均翻译自Docker官方文档 What is Docker? Docker 是一个开源的平台,设计目标是可以方便开发,方便部署和方便执行应用.使用docker可以快速分发开发好的应用.借助于Docker,你可以将开发平台和应用分离开,并且像管理应用一样管理开发平台.Docker可以帮助你快速开发应用,快速测试应用,快速部署应用,并且缩短开发代码和执行代码之间的周期间隔. Docker 是凭借一个轻量级容器的虚拟化平台工作流和相关工具来达到上述功能的,

理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境

1. 基础知识:Linux namespace 的概念 Linux 内核从版本 2.4.19 开始陆续引入了 namespace 的概念.其目的是将某个特定的全局系统资源(global system resource)通过抽象方法使得namespace 中的进程看起来拥有它们自己的隔离的全局系统资源实例(The purpose of each namespace is to wrap a particular global system resource in an abstraction th

Docker安全--将用户添加到Docker组中进行启动容器与未添加到Docker组中的sudo执行的研究

/*************************************** * Author : Samson * Date : 08/25/2015 * Test platform: * gcc 4.8.2 * GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu) * Docker version 1.7.1 * Debian GNU/Linux 7 * *************************************/ 结论: 对

Docker学习总结之docker入门

Understanding Docker 以下均翻译自Docker官方文档 ,转载请注明:Vikings翻译. What is Docker? Docker 是一个开源的平台,设计目标是可以方便开发,方便部署和方便执行应用.使用docker可以快速分发开发好的应用.借助于Docker,你可以将开发平台和应用分离开,并且像管理应用一样管理开发平台.Docker可以帮助你快速开发应用,快速测试应用,快速部署应用,并且缩短开发代码和执行代码之间的周期间隔. Docker 是凭借一个轻量级容器的虚拟化平

Docker最全教程——数据库容器化(十)

原文:Docker最全教程--数据库容器化(十) 终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容器化实践,中间再穿插一些知识点和实践细节.在编写的过程中,我一直处于一种矛盾的心理,是一笔带过呢?还是尽可能的将实践细节全部讲到位呢?最后,我选择了后者,虽然要花费更多的精力,但是既然开始了本次教程,就尽量写到位吧. 目录 数据库容器化 什么是数据库