如何删除 Docker 镜像、容器和卷

0 股票
0
0
0
0

介绍

Docker 让您可以轻松地将应用程序和服务打包到容器中,从而在任何地方运行它们。然而,在使用 Docker 的过程中,也很容易积累大量未使用的镜像、容器和数据卷,这些都会占用磁盘空间并造成输出混乱。Docker 提供了所有必要的工具,让您可以通过命令行清理系统。这份速查表式指南提供了一些实用命令,可用于释放磁盘空间并整理系统,例如删除未使用的 Docker 镜像、容器和卷。.

如何使用本指南:
  • 本指南以速查表的形式呈现,其中包含独立的命令行代码片段。.
  • 前往与您要完成的任务相关的各个部分。.

删除所有镜像、容器和卷

Docker 提供了一个可以清理任何资源(例如镜像、容器、卷和网络)的单一命令:

docker system prune

要删除已停止的容器和所有未使用的镜像,请在命令中添加 -a 参数:

docker system prune -a

删除 Docker 镜像

使用带有 -a 参数的 docker images 命令查找要删除的镜像的 ID。这将显示每个镜像,包括镜像的中间层。找到要删除的镜像后,您可以将它们的 ID 或标签传递给 docker rmi:

列表:

docker images -a

移动:

docker rmi Image Image

移除悬挂的图片

Docker 镜像由多个层组成。悬空镜像是指那些没有与任何已标记镜像关联的层。它们不再发挥作用,并且会占用磁盘空间。可以通过在 `docker images` 命令中添加 `-f` 过滤器并设置 `dangling=true` 来查找这些悬空镜像。如果您确定要删除它们,可以使用 `docker image prune` 命令:

列表:

docker images -f dangling=true

移动:

docker image prune

根据某种模式删除图像

结合使用 Docker 镜像和 grep 命令,您可以找到所有符合特定模式的镜像。找到满意的镜像后,您可以使用 awk 命令将镜像 ID 传递给 Docker RMI 工具,从而将其删除。请注意,这些工具并非 Docker 官方提供,也并非在所有系统上都可用。

列表:

docker images -a | grep "pattern"

移动:

docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

删除所有图片。

可以通过添加以下命令来添加系统上的所有 Docker 镜像: -一个 使用 docker images 命令列出所有镜像。确定要全部删除后,您可以…… -q 添加此步骤以将镜像 ID 传递给 Docker。 rmi 发送:

列表:

docker images -a

移动:

docker rmi $(docker images -a -q)

移除(移除模板):

使用带有 -a 参数的 docker ps 命令查找要删除的容器的名称或 ID:

列表:

docker ps -a

移动:

docker rm ID_or_Name ID_or_Name

移除所有输出格式

您可以使用容器 docker ps -a 按状态查找并筛选容器:已创建、已重启、正在运行、已暂停或已退出。要查看已退出容器的列表,请使用 `-f` 按状态筛选。确认要删除这些容器后,请使用 `-q` 将容器标识符传递给 `docker rm` 命令:

列表:

docker ps -a -f status=exited

移动:

docker rm $(docker ps -a -f status=exited -q)

使用多个过滤器删除模板

Docker 过滤器可以通过重复使用过滤器并添加附加值来组合使用。这将生成一个满足每个条件的容器列表。例如,如果您想删除所有标记为已创建(当容器使用无效命令运行时出现此状态)或已退出的容器,则可以使用两个过滤器:

列表:

docker ps -a -f status=exited -f status=created

移动:

docker rm $(docker ps -a -f status=exited -f status=created -q)

根据图案切割模具。

您可以使用 `docker ps` 和 `grep` 的组合来查找所有符合特定模式的容器。找到要删除的容器列表后,您可以使用 `awk` 和 `xargs` 为 `docker rm` 提供容器 ID。请注意,这些工具并非 Docker 提供,也并非在所有系统上都可用。

列表:

docker ps -a | grep "pattern”

移动:

docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm

停止并删除所有模板。

您可以使用 `docker ps` 命令检查系统上的容器。添加 `-a` 参数将显示所有容器。确定要删除它们后,可以在 `docker stop` 和 `docker rm` 命令中添加 `-q` 参数来提供容器标识符:

列表:

docker ps -a

移动:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

删除卷

删除一个或多个特定卷 – Docker 1.9 及更高版本

由于卷的设计初衷是独立于容器而存在,因此当模板被移除时,卷不会同时自动删除。当一个卷存在但不再附加到任何容器时,它被称为悬空卷。要确定悬空卷的位置并确认是否要删除它们,可以使用带有过滤器的 `docker volume ls` 命令来限制结果仅显示悬空卷。确认列表无误后,可以使用 `docker volume prune` 命令将其全部删除。

列表:

docker volume ls -f dangling=true

移动:

docker volume prune

选取一个模板及其体积。

如果您创建了一个未命名的卷,可以使用 `-v` 参数将其与容器同时删除。请注意,此方法仅适用于未命名的卷。卷成功删除后,会显示其 ID。请注意,删除过程中不会提及卷本身。如果卷未命名,则会从系统中静默删除。如果卷已命名,则会静默保留。.

移动:

docker rm -v container_name

结果

本指南涵盖了一些用于删除 Docker 镜像、容器和卷的常用命令。每个命令还有许多其他组合和标志可以使用。有关可用功能的完整指南,请参阅 Docker 系统清理文档。 Docker,Docker RMIdocker-rmdocker 卷删除 明白了。如果您希望在指南中看到任何常见的清洁任务,请在评论区留言或提出建议。.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢