Cómo usar el comando docker container unpause para reanudar 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 gestionar el estado de los contenedores de Docker, centrándote específicamente en pausarlos y reanudarlos. Comenzarás creando y ejecutando un contenedor simple.

Después de la creación, practicarás pausar el contenedor en ejecución y verificar su estado pausado. Finalmente, aprenderás cómo reanudar el contenedor y confirmar que ha retomado su ejecución. Esta experiencia práctica te proporcionará un entendimiento práctico del uso del comando docker container unpause.


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/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} docker/ps -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} docker/start -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} docker/stop -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} docker/rm -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} docker/pull -.-> lab-555126{{"Cómo usar el comando docker container unpause para reanudar contenedores"}} end

Crear y ejecutar un contenedor

En este paso, aprenderás cómo crear y ejecutar un contenedor 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, descarguemos una imagen simple de Docker Hub. Usaremos la imagen hello-world, que es una imagen muy pequeña utilizada para probar instalaciones de Docker.

docker pull hello-world

Deberías ver una salida que indica que la imagen se está descargando y extrayendo.

Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Ahora que tenemos la imagen, podemos ejecutar un contenedor basado en ella. Cuando ejecutes un contenedor desde la imagen hello-world, Docker simplemente imprimirá un mensaje en tu terminal y luego saldrá.

docker run hello-world

Deberías ver una salida similar a esta, que confirma que tu instalación de Docker funciona correctamente:

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.
    (If you already had the image locally, skipped the pull step.)
 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

Este comando creó y ejecutó un contenedor a partir de la imagen hello-world. Dado que el trabajo del contenedor era solo imprimir un mensaje y salir, ya no se está ejecutando.

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 de ubuntu.

docker pull ubuntu

Deberías ver una salida que indica que la imagen se está descargando y extrayendo.

Using default tag: latest
latest: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

Ahora, ejecutemos un contenedor de ubuntu en modo desatendido (-d) para que se ejecute en segundo plano. También le asignaremos un nombre (my-ubuntu) para facilitar su referencia. Usaremos el comando tail -f /dev/null para mantener el contenedor ejecutándose indefinidamente.

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

Este comando mostrará el ID del contenedor.

<container_id>

Puedes verificar que el contenedor está en ejecución usando el comando docker ps.

docker ps

Deberías ver una salida similar a esta, mostrando tu contenedor my-ubuntu con un estado Up (en ejecución).

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X seconds ago   Up X seconds             my-ubuntu

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

docker pause my-ubuntu

Si el comando es exitoso, no habrá salida. El contenedor ahora está pausado.

Verificar que el contenedor está pausado

En el paso anterior, pausamos el contenedor my-ubuntu. Ahora, verifiquemos que el contenedor efectivamente se encuentra en estado pausado.

Podemos usar nuevamente el comando docker ps para verificar el estado de los contenedores en ejecución.

docker ps

Este comando solo mostrará los contenedores actualmente en ejecución. Como pausamos el contenedor my-ubuntu, no debería aparecer en la salida de docker ps.

CONTAINER ID   IMAGE     COMMAND    CREATED    STATUS    PORTS     NAMES

Para ver todos los contenedores, incluyendo aquellos que están detenidos, finalizados o pausados, podemos usar el flag -a con docker ps.

docker ps -a

Ahora deberías ver el contenedor my-ubuntu listado, y su estado debería indicar que está pausado. Busca la palabra Paused en la columna STATUS.

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS                   PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X minutes (Paused)             my-ubuntu

El estado (Paused) confirma que el contenedor no se está ejecutando activamente, pero sigue en memoria, listo para ser reanudado.

Reanudar el contenedor

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

Para reanudar un contenedor, usamos el comando docker unpause seguido del nombre o ID del contenedor.

docker unpause my-ubuntu

Si el comando es exitoso, no habrá salida. El contenedor debería estar ejecutándose nuevamente desde donde fue pausado.

Verificar que el contenedor está en ejecución nuevamente

En el paso anterior, reanudamos el contenedor my-ubuntu. Ahora, verifiquemos que está activo y en ejecución nuevamente.

Podemos usar el comando docker ps para listar los contenedores actualmente en ejecución.

docker ps

Esta vez, el contenedor my-ubuntu debería aparecer en la salida, y su estado debería ser Up.

CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X seconds             my-ubuntu

El estado Up indica que el contenedor está en ejecución y sus procesos están activos.

Para confirmar adicionalmente, también podemos usar docker ps -a y verificar el estado. Debería mostrar Up sin el indicador (Paused).

docker ps -a
CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu         "tail -f /dev/null"   X minutes ago   Up X seconds             my-ubuntu

Esto confirma que el contenedor se ha reanudado exitosamente desde su estado pausado.

Finalmente, limpiemos el contenedor que creamos. Primero debemos detenerlo y luego eliminarlo.

docker stop my-ubuntu

Este comando detendrá el contenedor. Deberías ver el nombre o ID del contenedor impreso.

my-ubuntu

Ahora, elimina el contenedor usando el comando docker rm.

docker rm my-ubuntu

Este comando eliminará el contenedor. Deberías ver el nombre o ID del contenedor impreso.

my-ubuntu

Resumen

En este laboratorio, aprendiste cómo crear y ejecutar un contenedor Docker al descargar la imagen hello-world y ejecutarla. Esto demostró el proceso básico de obtener una imagen y lanzar un contenedor a partir de ella. Luego aprendiste cómo pausar un contenedor en ejecución, suspendiendo efectivamente sus procesos, y verificar su estado pausado. Finalmente, practicaste reanudar el contenedor para continuar su ejecución y confirmaste que estaba funcionando nuevamente.