介绍
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 RMI, docker-rm 和 docker 卷删除 明白了。如果您希望在指南中看到任何常见的清洁任务,请在评论区留言或提出建议。.









