Cómo iniciar sesión en un contenedor Docker
Métodos comunes
1. Existe un método ssh, que no requiere permisos de root especiales, pero el contenedor necesita instalar sshd
2. del contenedor obtiene un shell para iniciar sesión
3. Utilice nsinit
Este artículo presenta cómo utilizar nsenter
nsenter es fácil de usar, pero requiere algunas operaciones. utilidad de lanzamiento del sistema El paquete -linux es relativamente antiguo, por lo que no incluye nsenter. En este caso, debe compilarlo e instalarlo usted mismo. Para los piratas informáticos, hay muchas situaciones en las que se requiere la compilación e instalación del código fuente, así que aproveche. de eso!
Nota: El siguiente comando se ejecuta en Ubuntu 14.04 como ejemplo
1) Descarga el código fuente
git clone git://git.kernel. org/ pub/scm/utils/util-linux/util-linux.git util-linux
cd util-linux/
2) Instalar paquetes dependientes (este específico La situación faltante se encontrará durante la operación.
sudo apt-get install libtool
sudo apt-get install automake
sudo apt-get install autopoint
sudo apt-get install libncurses5-dev
3) Compilar e instalar
./autogen.sh
./configure & make
4) Pruebe la instalación correctamente
./nsenter -V
5) Agregue nsenter a la ruta ejecutable del entorno del sistema
sudo cp. /nsenter /usr/bin
Cómo usar nsenter, muy simple,
1) Primero busque el ID del proceso correspondiente al contenedor
sudo docker. inspect --format " {{ .State.Pid }}"
2) Ejecute nsenter para obtener el shell, asumiendo 1) que la identificación obtenida es 4308
sudo nsenter --target 4308 --mount --uts --ipc --net --pid