Red de conocimiento informático - Material del sitio web - Cómo iniciar sesión en un contenedor Docker

Cómo iniciar sesión en un contenedor Docker

Después de usar Docker para implementar un contenedor, siempre tendremos necesidades similares: iniciar sesión en el contenedor para realizar ciertas operaciones.

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