Cómo usar el comando docker container pause para suspender contenedores

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás a utilizar el comando docker container pause para suspender contenedores en ejecución. Comenzaremos creando y ejecutando un contenedor simple utilizando la imagen hello-world.

Posteriormente, practicarás pausando el contenedor en ejecución y verificando su estado de pausa. Finalmente, aprenderás cómo reanudar el contenedor para continuar su ejecución. Este laboratorio ofrece una introducción práctica a la gestión de estados de contenedores utilizando comandos de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} docker/ps -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} docker/stop -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} docker/rm -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} docker/inspect -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} docker/pull -.-> lab-555115{{"Cómo usar el comando docker container pause para suspender contenedores"}} end

Crear y ejecutar un contenedor simple

En este paso, aprenderemos cómo crear y ejecutar un contenedor simple de Docker. Un contenedor es una unidad estándar de software que empaqueta código y todas sus dependencias para que la aplicación se ejecute de manera rápida y confiable en diferentes entornos de computación.

Primero, necesitamos descargar la imagen de Docker que utilizaremos. Usaremos la imagen hello-world, que es una imagen muy pequeña diseñada para demostrar cómo funciona Docker.

docker pull hello-world

Este comando descarga la imagen hello-world desde Docker Hub a tu máquina local. Deberías ver una salida que indica el progreso y la finalización de la descarga.

Ahora que tenemos la imagen, podemos ejecutar un contenedor basado en ella.

docker run hello-world

Este comando crea un nuevo contenedor a partir de la imagen hello-world y lo ejecuta. Cuando ejecutes este contenedor, imprimirá un mensaje en tu terminal confirmando que tu instalación de Docker funciona correctamente. Después de imprimir el mensaje, el contenedor se cerrará.

Deberías ver una salida similar a esta:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (Assuming it was not already locally available)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Esta salida confirma que has descargado y ejecutado correctamente tu primer contenedor Docker.

Pausar el contenedor en ejecución

En el paso anterior, ejecutamos un contenedor simple que finalizó inmediatamente. Para demostrar cómo pausar y reanudar, necesitamos un contenedor que permanezca en ejecución. Utilizaremos un contenedor simple de ubuntu y lo mantendremos ejecutándose en segundo plano.

Primero, descarguemos la imagen ubuntu.

docker pull ubuntu

Este comando descarga la imagen ubuntu desde Docker Hub.

Ahora, ejecutaremos un contenedor ubuntu en modo desatendido (-d) para que se ejecute en segundo plano. Usaremos el comando tail -f /dev/null para mantener el contenedor ejecutándose indefinidamente.

docker run -d ubuntu tail -f /dev/null

Este comando mostrará el ID del contenedor. Copia este ID, ya que lo necesitaremos para pausar el contenedor.

<container_id>

Ahora que tenemos un contenedor en ejecución, podemos pausarlo usando el comando docker pause seguido del ID del contenedor.

docker pause <container_id>

Reemplaza <container_id> con el ID real de tu contenedor Ubuntu en ejecución.

Este comando pausará todos los procesos dentro del contenedor especificado. El contenedor seguirá existiendo, pero sus procesos quedarán suspendidos.

Verificar que el contenedor está pausado

En el paso anterior, pausamos un contenedor en ejecución. Ahora, verifiquemos que el contenedor efectivamente se encuentra en estado pausado.

Podemos usar el comando docker ps para listar los contenedores en ejecución y verificar su estado.

docker ps

Este comando mostrará una lista de los contenedores actualmente en ejecución. Si tu contenedor Ubuntu está pausado, seguirá apareciendo en esta lista, pero su estado indicará que está pausado. Busca el ID del contenedor que pausaste en el paso anterior.

La salida debería mostrar tu contenedor con un estado similar a Up ... (Paused).

Alternativamente, puedes usar el comando docker container inspect para obtener información detallada sobre un contenedor específico, incluyendo su estado. Reemplaza <container_id> con el ID real de tu contenedor Ubuntu pausado.

docker container inspect <container_id>

Este comando generará un objeto JSON grande que contiene toda la información de configuración y estado del contenedor. Debes buscar el campo "State" dentro de esta salida.

Para verificar específicamente si el contenedor está pausado usando docker container inspect, puedes filtrar la salida usando herramientas como grep.

docker container inspect <container_id> | grep Paused

Si el contenedor está pausado, este comando mostrará una línea similar a "Paused": true,. Esto confirma que el estado del contenedor efectivamente está pausado.

Reanudar el contenedor

En el paso anterior, verificamos que nuestro contenedor Ubuntu estaba pausado. Ahora, vamos a reanudarlo y continuar su ejecución.

Utilizamos el comando docker unpause seguido del ID del contenedor para reanudarlo. Reemplaza <container_id> con el ID real de tu contenedor Ubuntu pausado.

docker unpause <container_id>

Este comando reanudará todos los procesos dentro del contenedor especificado que estaban suspendidos cuando se pausó.

Después de reanudar el contenedor, puedes verificar su estado nuevamente usando el comando docker ps.

docker ps

Esta vez, la salida para tu contenedor Ubuntu debería mostrar un estado como Up ... sin el indicador (Paused). Esto confirma que el contenedor ahora está funcionando normalmente nuevamente.

Finalmente, para limpiar, puedes detener y eliminar el contenedor. Primero, detén el contenedor:

docker stop <container_id>

Luego, elimina el contenedor:

docker rm <container_id>

Estos comandos detendrán el contenedor en ejecución y luego lo eliminarán de tu sistema.

Resumen

En este laboratorio, aprendimos a usar el comando docker container pause para suspender contenedores. Comenzamos creando y ejecutando un contenedor simple usando la imagen hello-world, lo cual demostró el proceso básico de descargar una imagen y ejecutar un contenedor.

Después de crear y ejecutar un contenedor, exploramos cómo pausar un contenedor en ejecución usando el comando docker container pause y verificamos su estado pausado. Finalmente, aprendimos cómo reanudar la ejecución del contenedor usando el comando docker container unpause.