Ciclo de vida de contenedores Docker: Optimización y mantenimiento

Ciclo de vida de contenedores Docker: Optimización y mantenimiento

¿Cómo es el ciclo de vida de los contenedores en Docker?

Ya hemos visto como ejecutar un contenedor, ahora exploraremos el ciclo de vida de los contenedores.

¿Cómo listar los contenedores en ejecución en Docker?

Para listar los contenedores en ejecución en Docker utilizamos:

docker container ls

La salida se ve algo así:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

¿Cómo listar los contenedores de Docker que han sido ejecutados recientemente?

Si por el contrario lo que deseamos es listar los contenedores que hayan sido ejecutados en Docker recientemente utilizamos:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
d9b47a992ed4        946a0547927b        "/bin/bash"         37 minutes ago      Exited (0) 37 minutes ago                       python-container

Como vemos en el anterior ejemplo, el contenedor fue creado hace 37 minutos, y cerrado en un momento similar.

¿Cómo ejecutar y entrar al sistema operativo de un contenedor de Docker?

Para ejecutar un contenedor de Docker y entrar dentro de este vamos a ejecutar nuestro contenedor con la imagen ubuntu:16.01 y entrar dentro de este:

docker container run -it ubuntu:16.04

Abrimos otra terminal en una nueva tab y listamos los contenedores.

docker container ls

La salida se verá algo así:

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
8e642e0826c1        ubuntu:16.04        "/bin/bash"         About a minute ago   Up About a minute                       sharp_volhard

¿Qué es el Moby Project?

En la última columna mostrada en el listad de los contenedores aparecen nombres únicos aleatorios que se le van dando a los contenedores.

Los nombres aleatorios provienen del Proyecto Moby (Moby Project). Este proyecto mantiene una relación estrecha con Docker. Dentro de este se encuentra un modulo para la generación de nombres aleatorios.

Ahora abandonamos nuestro contenedor.

exit

Si volvemos a listar los contenedores en ejecución docker container list, nos daremos cuenta que ya no aparece nuestro contenedor en la lista, y eso se debe a que hemos terminado su ejecución desde el momento en que salimos de este mediante exit. Sin embargo recordamos que podemos listar los contenedores que se han cerrado recientemente mediante docker container list -a.

¿Cómo es el ciclo de vida de los contenedores?

Cuando ejecutamos el comando docker container run -it ubuntu:16.04 se crea una instancia de la imagen que hemos invocado (en este caso ubuntu:16:04) y se ejecuta en un nuevo contenedor, en este momento el contenedor se encuentra en estado de arranque.

Cuando se arranca el contenedor este se encuentra en estado de ejecución, por lo que realiza las tareas que requiere e incluso podemos interactuar con el.

Apenas abandonamos el contenedor nos dimos cuenta que este contenedor cerro su ejecución, pues ya no aparece al listar los contenedores en ejecución, en este punto el contenedor de Docker se encuentra en estado detenido.

¿Cómo volver a arrancar el contenedor?

Si lo que deseamos es volver a arrancar el mismo contenedor sin tener que generar una nueva instancia, utilizamos el comando:

docker container ls -a

Veremos la lista reciente:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
8e642e0826c1        ubuntu:16.04        "/bin/bash"         15 minutes ago      Exited (0) 9 minutes ago                        sharp_volhard
d9b47a992ed4        946a0547927b        "/bin/bash"         56 minutes ago      Exited (0) 56 minutes ago                       python-container

¿Cómo ejecutar nuevamente un contenedor Docker que ha sido cerrado?

Para arrancar nuevamente el contenedor podemos utilizar su nombre (NAMES) o su identificador (CONTAINER ID).

docker container start 8e642e0826c1

No se requiere utilizar el nombre completo del identificador, basta con ingresar los primeros caracteres únicos.

¿Cómo entrar al contenedor que se encuentra en ejecución?

Para acceder al contenedor que se encuentra en ejecución podemos utilizar el comando attach.

docker attach 8e642e0826c1

Dentro podemos utilizar el comando ls y este nos mostrará el contenido del sistema de archivos de Ubuntu Linux.

Para salir basta utilizar nuevamente exit, esto cerrará la ejecución del contenedor y volverá a desaparecer de la lista de contenedores en ejecución.

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios