¿Cómo se sale de un contenedor docker?
Supongamos que ejecuta un contenedor docker en modo interactivo como este:
docker run -it ubuntu bash
De esta manera, obtiene un shell interactivo e inmediatamente inicia sesión en el sistema operativo que se ejecuta como contenedor.
Para salir de este contenedor en ejecución, puede usar ctrl+c, ctrl+d o ingresar exit en la terminal.
Hay un problema aquí. Si sale del contenedor de esta manera, su contenedor también se detiene.
[email protected]:~$ docker run -it ubuntu bash
[email protected]:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[email protected]:/# exit
exit
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Como puede ver en el resultado anterior, el comando docker ps no muestra contenedores en ejecución.
Salir del contenedor docker sin detenerlo (separar contenedor)
Lo que puede hacer aquí es separar el contenedor presionando ctrl+p y ctrl+q uno tras otro . Sé que es un atajo de teclado extraño para los usuarios de Linux, pero así es como puedes hacerlo fácilmente.
Cuando se separa, su contenedor seguirá funcionando incluso si sale del contenedor. Su sesión de la ventana acoplable interactiva ahora está en modo daemon.
Puedes verificarlo usando docker ps
comando para verlo en la lista de contenedores en ejecución.
Cuando quiera volver a usarlo, puede adjuntar el contenedor nuevamente.
Sugerencia:ejecute el contenedor en modo daemon siempre que sea posible
Siempre prefiero ejecutar contenedores en modo demonio como este:
docker run -it -d docker_image_name bash
De esta forma, el contenedor se inicia y se ejecuta en segundo plano. La bandera i significa interactivo y la bandera t significa tty. Básicamente, le brinda un shell interactivo que ejecuta bash pero no está disponible de inmediato.
Puede ingresar un contenedor en ejecución de esta manera:
docker exec -it container_id bash
Espero que este pequeño y rápido consejo de Docker te haya resultado útil. Estén atentos para obtener más sugerencias de Docker.
Si tiene alguna pregunta o sugerencia, no dude en preguntar en la sección de comentarios.