Cómo usar el comando docker checkpoint ls para listar puntos de control de 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 checkpoint ls para listar los puntos de control (checkpoints) de un contenedor Docker. Comenzaremos creando un contenedor y luego generando un punto de control para el mismo.

Después de crear un punto de control, explorarás cómo listar los puntos de control asociados al contenedor utilizando el comando estándar docker checkpoint ls. Finalmente, aprenderás a listar puntos de control cuando se ha especificado un directorio personalizado para los checkpoints.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container 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/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555067{{"Cómo usar el comando docker checkpoint ls para listar puntos de control de contenedores"}} docker/ps -.-> lab-555067{{"Cómo usar el comando docker checkpoint ls para listar puntos de control de contenedores"}} docker/stop -.-> lab-555067{{"Cómo usar el comando docker checkpoint ls para listar puntos de control de contenedores"}} docker/rm -.-> lab-555067{{"Cómo usar el comando docker checkpoint ls para listar puntos de control de contenedores"}} docker/pull -.-> lab-555067{{"Cómo usar el comando docker checkpoint ls para listar puntos de control de contenedores"}} end

Crear un contenedor y un punto de control

En este paso, aprenderemos cómo crear un contenedor Docker y luego generar un punto de control (checkpoint) para el mismo. Los puntos de control permiten guardar el estado de un contenedor en ejecución y restaurarlo posteriormente. Esto es útil para depuración, migración o crear instantáneas de tu aplicación.

Primero, descarguemos una imagen simple que usaremos para ejecutar un contenedor. Utilizaremos la imagen ubuntu.

docker pull ubuntu:latest

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

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

Ahora, ejecutemos un contenedor a partir de esta imagen. Ejecutaremos un comando simple que mantendrá el contenedor en ejecución por un tiempo.

docker run -d --name mycontainer ubuntu:latest sleep 3600

Aquí el desglose del comando:

  • docker run: Este comando se usa para ejecutar un nuevo contenedor.
  • -d: Este flag ejecuta el contenedor en modo desatendido (detached), es decir, en segundo plano.
  • --name mycontainer: Asigna el nombre mycontainer al contenedor.
  • ubuntu:latest: Especifica la imagen a utilizar para el contenedor.
  • sleep 3600: Este es el comando que se ejecutará dentro del contenedor. Mantendrá el contenedor en ejecución durante 3600 segundos (1 hora).

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 mycontainer en ejecución:

CONTAINER ID   IMAGE          COMMAND         CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu:latest   "sleep 3600"   About a minute ago   Up About a minute             mycontainer

Ahora que tenemos un contenedor en ejecución, creemos un punto de control para él. Para crear un punto de control, necesitas usar el comando docker checkpoint create.

docker checkpoint create mycontainer mycheckpoint1

Aquí el desglose del comando:

  • docker checkpoint create: Este comando se usa para crear un punto de control para un contenedor.
  • mycontainer: Es el nombre del contenedor al que deseas aplicar el checkpoint.
  • mycheckpoint1: Es el nombre que le asignas al punto de control.

Si el comando es exitoso, no verás ninguna salida. Esto significa que el punto de control mycheckpoint1 ha sido creado para el contenedor mycontainer.

Listar puntos de control del contenedor

En el paso anterior, creamos un punto de control llamado mycheckpoint1 para nuestro contenedor mycontainer. Ahora, aprendamos cómo listar los puntos de control existentes para un contenedor específico.

Para listar los puntos de control de un contenedor, se utiliza el comando docker checkpoint ls seguido del nombre del contenedor.

docker checkpoint ls mycontainer

Este comando mostrará una lista de todos los puntos de control asociados con mycontainer.

Deberías ver una salida similar a esta, mostrando el punto de control que creamos anteriormente:

CHECKPOINT ID
mycheckpoint1

Esta salida confirma que existe el punto de control mycheckpoint1 para el contenedor mycontainer.

Puedes crear múltiples puntos de control para el mismo contenedor. Creemos otro punto de control para ver cómo cambia la lista.

docker checkpoint create mycontainer mycheckpoint2

Ahora, listemos los puntos de control nuevamente:

docker checkpoint ls mycontainer

Esta vez, la salida debería mostrar ambos puntos de control:

CHECKPOINT ID
mycheckpoint1
mycheckpoint2

Esto demuestra cómo listar todos los puntos de control asociados a un contenedor en particular.

Listar puntos de control usando un directorio personalizado

En los pasos anteriores, creamos puntos de control para nuestro contenedor mycontainer y los listamos usando el directorio predeterminado. Docker almacena los puntos de control en una ubicación por defecto, pero también puedes especificar un directorio personalizado para guardarlos. Esto puede ser útil para organizar los puntos de control o almacenarlos en un volumen diferente.

Para crear un punto de control en un directorio personalizado, usa el flag --checkpoint-dir con el comando docker checkpoint create. Primero, creemos un directorio para almacenar nuestro punto de control personalizado. Crearemos un directorio llamado mycheckpoints en nuestro directorio home.

mkdir ~/project/mycheckpoints

Ahora, creemos un nuevo punto de control para mycontainer y guardémoslo en el directorio ~/project/mycheckpoints.

docker checkpoint create --checkpoint-dir ~/project/mycheckpoints mycontainer mycheckpoint3

Desglose del comando:

  • docker checkpoint create: Comando para crear un punto de control
  • --checkpoint-dir ~/project/mycheckpoints: Especifica el directorio personalizado donde se guardará el punto de control
  • mycontainer: Nombre del contenedor al que se le creará el punto de control
  • mycheckpoint3: Nombre asignado a este nuevo punto de control

Si el comando es exitoso, no verás ninguna salida. Esto significa que el punto de control mycheckpoint3 se ha creado en el directorio ~/project/mycheckpoints.

Para listar puntos de control almacenados en un directorio personalizado, usa el comando docker checkpoint ls con el flag --checkpoint-dir, especificando el directorio personalizado.

docker checkpoint ls --checkpoint-dir ~/project/mycheckpoints mycontainer

Este comando listará los puntos de control encontrados en el directorio especificado para el contenedor mycontainer.

Deberías ver una salida similar a esta, mostrando solo el punto de control creado en el directorio personalizado:

CHECKPOINT ID
mycheckpoint3

Nota que este comando solo lista los puntos de control en el directorio personalizado especificado (mycheckpoint3) y no muestra los almacenados en la ubicación predeterminada (mycheckpoint1 y mycheckpoint2).

Para ver todos los puntos de control del contenedor, independientemente de su ubicación, necesitarías listarlos desde cada directorio por separado o usar una herramienta que agrupe esta información. Sin embargo, para listar puntos de control en un directorio personalizado específico, el flag --checkpoint-dir es esencial.

Finalmente, limpiemos el contenedor que creamos.

docker stop mycontainer
docker rm mycontainer

Esto detiene y elimina el contenedor mycontainer.

Resumen

En este laboratorio, aprendimos a usar el comando docker checkpoint ls para listar puntos de control de un contenedor Docker. Comenzamos creando un contenedor y luego generamos un punto de control para él mediante el comando docker checkpoint create.

Posteriormente, exploramos cómo listar los puntos de control creados para el contenedor utilizando el comando docker checkpoint ls. Finalmente, aprendimos a listar puntos de control ubicados en un directorio personalizado, demostrando así la flexibilidad para gestionar puntos de control en diferentes ubicaciones.