Como usar o comando docker checkpoint rm para remover um checkpoint

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como gerenciar checkpoints de contêineres Docker. Começaremos criando um contêiner Docker e, em seguida, criando um checkpoint de seu estado atual, o que permite salvar e restaurar o estado do contêiner.

Após a criação de um checkpoint, você aprenderá como listar os checkpoints existentes para verificar sua presença. Finalmente, você praticará a remoção de um checkpoint específico usando o comando docker checkpoint rm e verificará se ele foi removido com sucesso. Este laboratório oferece experiência prática com as operações fundamentais de checkpoints Docker.

Criar e fazer checkpoint de um contêiner

Nesta etapa, aprenderemos como criar um contêiner Docker e, em seguida, criar um checkpoint de seu estado atual. O checkpointing permite salvar o estado de um contêiner em execução e restaurá-lo posteriormente. Isso é útil para depuração, migração ou criação de snapshots de sua aplicação.

Primeiro, precisamos de uma imagem para executar um contêiner. Usaremos a imagem ubuntu. Como o ambiente da VM LabEx não possui todas as imagens pré-carregadas, faremos o pull da imagem ubuntu primeiro.

docker pull ubuntu

Você deve ver uma saída indicando que a imagem ubuntu está sendo baixada.

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

Agora, vamos executar um contêiner simples a partir da imagem ubuntu. Vamos executá-lo em modo detached (-d) e dar-lhe um nome (--name checkpoint-test). Também executaremos um comando que mantém o contêiner em execução, como sleep infinity.

docker run -d --name checkpoint-test ubuntu sleep infinity

Você deve ver uma longa sequência de caracteres, que é o ID do contêiner.

<container_id>

Para verificar se o contêiner está em execução, você pode usar o comando docker ps.

docker ps

Você deve ver o contêiner checkpoint-test listado com o status Up.

CONTAINER ID   IMAGE     COMMAND           CREATED         STATUS         PORTS     NAMES
<container_id>   ubuntu    "sleep infinity"   X seconds ago   Up X seconds             checkpoint-test

Agora que temos um contêiner em execução, podemos criar um checkpoint de seu estado. Usaremos o comando docker checkpoint create, seguido pelo nome do contêiner e o nome do checkpoint. Vamos nomear nosso checkpoint my-checkpoint.

docker checkpoint create checkpoint-test my-checkpoint

Se o comando for bem-sucedido, você não verá nenhuma saída. Isso significa que o checkpoint foi criado.

Listar checkpoints existentes

Na etapa anterior, criamos um checkpoint chamado my-checkpoint para o contêiner checkpoint-test. Nesta etapa, aprenderemos como listar os checkpoints existentes para um contêiner.

Para listar os checkpoints de um contêiner específico, usamos o comando docker checkpoint ls seguido pelo nome do contêiner.

docker checkpoint ls checkpoint-test

Você deve ver o nome do checkpoint que criamos na etapa anterior listado na saída.

CHECKPOINT ID
my-checkpoint

Este comando mostra todos os checkpoints que foram criados para o contêiner especificado. Se você tivesse criado vários checkpoints, todos eles seriam listados aqui.

Remover um checkpoint específico

Nas etapas anteriores, criamos um contêiner e um checkpoint para ele, e então listamos os checkpoints existentes. Nesta etapa, aprenderemos como remover um checkpoint específico.

Para remover um checkpoint, usamos o comando docker checkpoint rm, seguido pelo nome do contêiner e o nome do checkpoint que você deseja remover. Removeremos o checkpoint my-checkpoint do contêiner checkpoint-test.

docker checkpoint rm checkpoint-test my-checkpoint

Se o comando for bem-sucedido, você não verá nenhuma saída. Isso indica que o checkpoint foi removido.

A remoção de um checkpoint não afeta o contêiner em execução. O contêiner continuará a ser executado em seu estado atual.

Verificar se o checkpoint foi removido

Na etapa anterior, removemos o checkpoint my-checkpoint do contêiner checkpoint-test. Nesta etapa, verificaremos se o checkpoint foi removido com sucesso, listando os checkpoints novamente.

Para verificar se o checkpoint foi removido, usaremos o comando docker checkpoint ls para o contêiner checkpoint-test, assim como fizemos na Etapa 2.

docker checkpoint ls checkpoint-test

Desta vez, você não deve ver nenhuma saída, ou uma mensagem de erro indicando que não há checkpoints para este contêiner. Isso confirma que o checkpoint my-checkpoint foi removido.

Se você ainda vir my-checkpoint listado, volte para a etapa anterior e certifique-se de que executou corretamente o comando docker checkpoint rm.

Após verificar se o checkpoint foi removido, podemos limpar o contêiner que criamos. Vamos parar e, em seguida, remover o contêiner checkpoint-test.

Primeiro, pare o contêiner:

docker stop checkpoint-test

Você deve ver o nome do contêiner impresso como saída.

checkpoint-test

Em seguida, remova o contêiner:

docker rm checkpoint-test

Você deve ver o nome do contêiner impresso como saída novamente.

checkpoint-test

Agora, se você executar docker ps, não deverá ver o contêiner checkpoint-test listado.

docker ps

Este comando deve mostrar apenas os contêineres em execução. Se nenhum outro contêiner estiver em execução, a saída mostrará apenas a linha do cabeçalho.

Resumo

Neste laboratório, aprendemos como criar um contêiner Docker e, em seguida, criar um checkpoint de seu estado atual usando o comando docker checkpoint create. Começamos puxando a imagem ubuntu e executando um contêiner chamado checkpoint-test em modo detached com o comando sleep infinity. Verificamos se o contêiner estava em execução usando docker ps. Finalmente, criamos um checkpoint chamado my-checkpoint para o contêiner checkpoint-test.