进入docker 容器的小脚本

阅读更多

如果docker容器没有提供ssh,那么进入docker容器的方法,一般是 attach ,exec,nsenter

attach 进入后再退出,会引起docker 容器停止。exec 每次输入比较麻烦。

比较方便的是用 nsenter . nsenter 进入需要查docker 容器的pid 。所以,写了下面的脚本,方便进入。

 

 

#!/bin/bash
docker ps
echo "======================================\r"
read -p "input docker name:" did
PID=$(docker inspect --format "{{.State.Pid}}" $did)
nsenter --target $PID --mount --uts --ipc --net --pid

 该脚本会提示当前运行的docker容器,然后输入docker 的id 后,就进入了docker容器

 

运行效果如下:


进入docker 容器的小脚本_第1张图片
 

nsenter 的安装 

  

cd /tmp
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 && cp nsenter /usr/local/bin

 

  • 进入docker 容器的小脚本_第2张图片
  • 大小: 50.9 KB
  • 查看图片附件

你可能感兴趣的:(docker,linux)