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.
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 nombremycontaineral 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 controlmycontainer: Nombre del contenedor al que se le creará el punto de controlmycheckpoint3: 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.



