1.使用docker attach 命令,缺点是同一个时间只能有一个终端访问容器,并且在使用exit命令容器会终止
2.使用第三方插件,nsenter,适用于适用docker宿主机登录至容器内部,这样使用exit容器不会退出
nsenter工具的安装:
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.28/util-linux-2.28.tar.gz
tar -xzvf util-linux-2.28.tar.gz
cd util-linux-2.28
./configure --without-ncurses
make nsenter
cp nsenter /usr/local/bin
安装完成后,使用nsenter --help 命令查看,可以看到使用方法及参数则证明安装成功。
nsenter 使用
1. 找到容器的pid
docker inspect -f {{.State.Pid}} 容器id 或容器name
nsenter 使用
1. 找到容器的pid
docker inspect -f {{.State.Pid}} 容器id 或容器name
2. nsenter --target pid --mount --uts --ipc --net --pid
例如:
root@ubuntu:~# docker start 516731e73195
516731e73195
root@ubuntu:~# docker inspect -f {{.State.Pid}} 516731e73195
2778
root@ubuntu:~# nsenter --target 2778 --mount --uts --ipc --net --pid
root@516731e73195:/# exit
logout
root@ubuntu:~# docker start 516731e73195
516731e73195
root@ubuntu:~# docker inspect -f {{.State.Pid}} 516731e73195
2778
root@ubuntu:~# nsenter --target 2778 --mount --uts --ipc --net --pid
root@516731e73195:/# exit
logout