使用nsenter进入docker容器

nsenter 开源地址:

https://github.com/jpetazzo/nsenter

一、使用nsenter访问容器

1、安装nsenter

  1. wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz
  2. tar -xzvf util-linux-2.24.tar.gz
  3. cd util-linux-2.24/
  4. ./configure --without-ncurses
  5. make nsenter
  6. cp nsenter /usr/local/bin

2、安装完成后查看状态

  1. docker inspect --help

若命令存在则表示安装完成。

3、使用docker inspect命令

  • 查看容器详细信息
  1. docker inspect <容器id>
  • 查看容器部分信息(如pid)
  1. docker inspect -f {{.State.Pid}} 44fc0f0582d9
  • nsenter访问容器
  1. nsenter --target 3326 --mount --uts --ipc --net --pid

其中3326为上一步获取的容器ipd。

二、使用docker exec命令访问容器

  1. docker ps
  1. docker exec -it b01 /bin/bash