如何使用 docker checkpoint rm 命令删除检查点

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何管理 Docker 容器检查点(checkpoint)。我们将从创建一个 Docker 容器开始,然后为其当前状态创建检查点,这允许你保存和恢复容器的状态。

创建检查点后,你将学习如何列出已有的检查点以验证它们的存在。最后,你将练习使用 docker checkpoint rm 命令移除特定检查点,并验证它是否已被成功删除。本实验提供了 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/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") subgraph Lab Skills docker/run -.-> lab-555068{{"如何使用 docker checkpoint rm 命令删除检查点"}} docker/ps -.-> lab-555068{{"如何使用 docker checkpoint rm 命令删除检查点"}} docker/stop -.-> lab-555068{{"如何使用 docker checkpoint rm 命令删除检查点"}} docker/rm -.-> lab-555068{{"如何使用 docker checkpoint rm 命令删除检查点"}} docker/pull -.-> lab-555068{{"如何使用 docker checkpoint rm 命令删除检查点"}} end

创建容器并设置检查点

在这一步骤中,我们将学习如何创建 Docker 容器并为其当前状态创建检查点(checkpoint)。检查点功能允许你保存运行中容器的状态,并在之后进行恢复。这对于调试、迁移或创建应用快照非常有用。

首先,我们需要一个基础镜像来运行容器。我们将使用 ubuntu 镜像。由于 LabEx 虚拟机环境并未预拉取所有镜像,我们需要先拉取 ubuntu 镜像。

docker pull ubuntu

你将看到表明正在拉取 ubuntu 镜像的输出信息。

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

现在,让我们基于 ubuntu 镜像运行一个简单容器。我们将以分离模式(-d)运行它,并为其命名(--name checkpoint-test)。同时我们会运行一个保持容器持续运行的命令,例如 sleep infinity

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

你将看到一个长字符串,这是容器的 ID。

<container_id>

要验证容器是否正在运行,可以使用 docker ps 命令。

docker ps

你应该能看到 checkpoint-test 容器被列出,状态显示为 Up

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

现在我们有了一个运行中的容器,可以为其状态创建检查点。我们将使用 docker checkpoint create 命令,后接容器名称和检查点名称。让我们将检查点命名为 my-checkpoint

docker checkpoint create checkpoint-test my-checkpoint

如果命令执行成功,你将不会看到任何输出。这表示检查点已成功创建。

列出已有检查点

在上一步骤中,我们为容器 checkpoint-test 创建了一个名为 my-checkpoint 的检查点。本步骤将学习如何列出容器已有的检查点。

要列出特定容器的检查点,我们使用 docker checkpoint ls 命令后接容器名称。

docker checkpoint ls checkpoint-test

你将在输出中看到我们上一步创建的检查点名称。

CHECKPOINT ID
my-checkpoint

此命令会显示为指定容器创建的所有检查点。如果你创建了多个检查点,它们都会在此列出。

删除特定检查点

在前面的步骤中,我们创建了一个容器及其检查点,并列出了现有的检查点。本步骤将学习如何删除特定的检查点。

要删除检查点,我们使用 docker checkpoint rm 命令,后接容器名称和要删除的检查点名称。我们将从 checkpoint-test 容器中删除 my-checkpoint 检查点。

docker checkpoint rm checkpoint-test my-checkpoint

如果命令执行成功,你将不会看到任何输出。这表明检查点已被成功删除。

删除检查点不会影响正在运行的容器。容器将继续保持当前状态运行。

验证检查点是否已删除

在上一步骤中,我们从 checkpoint-test 容器中移除了 my-checkpoint 检查点。本步骤将通过再次列出检查点来验证该检查点是否已成功删除。

要验证检查点是否已移除,我们将像步骤 2 那样对 checkpoint-test 容器使用 docker checkpoint ls 命令。

docker checkpoint ls checkpoint-test

这次,你应该看不到任何输出,或者会显示一条错误信息表明该容器没有检查点。这确认了 my-checkpoint 检查点已被移除。

如果你仍然看到 my-checkpoint 被列出,请返回上一步并确保你正确执行了 docker checkpoint rm 命令。

验证检查点已删除后,我们可以清理创建的容器。我们将先停止然后移除 checkpoint-test 容器。

首先,停止容器:

docker stop checkpoint-test

你应该会看到容器名称作为输出打印出来。

checkpoint-test

然后,移除容器:

docker rm checkpoint-test

你应该会再次看到容器名称作为输出打印出来。

checkpoint-test

现在,如果你运行 docker ps,应该不会看到 checkpoint-test 容器被列出。

docker ps

此命令应该只显示正在运行的容器。如果没有其他容器在运行,输出将只显示标题行。

总结

在本实验中,我们学习了如何创建 Docker 容器,并使用 docker checkpoint create 命令为其当前状态创建检查点。我们首先拉取了 ubuntu 镜像,并以分离模式运行了一个名为 checkpoint-test 的容器,执行命令为 sleep infinity。通过 docker ps 我们验证了容器正在运行。最后,我们为 checkpoint-test 容器创建了一个名为 my-checkpoint 的检查点。