Docker宿主机登陆Container方法

一、登陆方法

1、使用ssh登陆进容器

2、使用nsenter、nsinit等第三方工具

3、使用docker本身提供的工具

方法1 需要在容器中启动sshd,存在开销和攻击面增大的问题。同时也违反了Docker所倡导的一个容器一个进程的原则

方法2 需要额外学习使用第三方工具

方法3 Docker目前主要提供了Docker exec和Docker attach两个命令

推荐方法2:

nsenter工具在util-linux包2.23版本之后包中,如果系统中util-linux包中没有此命令,需要源码安装,

安装步骤如下

curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz
tar -zxf util-linux-2.24.tar.gz
cd util-linux-2.24;
./configure --without-ncurses
make nsenter && cp nsenter /usr/local/bin
cat /usr/bin/docker_enter

#!/bin/bash
sudo nsenter --target `docker inspect --format {{.State.Pid}} $1` --mount --uts --ipc --net --pid

  如果再需要进入容器中,只需要执行

docker_enter [container_name]

  

原文地址:https://www.cnblogs.com/taoge007/p/6842209.html