当前位置: 代码网 > it编程>开发工具>Docker > 如何删除 Docker 映像、容器和卷

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

2025年03月30日 Docker 我要评论
docker 使您可以轻松地将应用程序和服务包装在容器中,以便您可以在任何地方运行它们。然而,当您使用 docker 时,也很容易积累过多未使用的映像、容器和数据卷,从而使输出变得混乱并消耗磁盘空间。
docker 使您可以轻松地将应用程序和服务包装在容器中,以便您可以在任何地方运行它们。然而,当您使用 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 rmiimageimage
登录后复制

删除悬挂的 docker镜像

docker 镜像由多个层组成。悬挂的图像是层 与任何标记的图像没有关系。他们不再服务 目的并消耗磁盘空间。可以通过添加过滤器来定位它们 docker images 命令的标志 -f 的值为 dangling=true 。当您确定要删除它们时,可以使用 docker image prune 命令:

列表:

docker images -f dangling=true
登录后复制

删除:

docker image prune
登录后复制

根据a删除图像模式

您可以使用 docker 镜像和 grep 的组合来查找与某个模式匹配的所有镜像。一旦您满意,您可以使用 awk 将 id 传递给 docker rmi 来删除它们。请注意,这些实用程序不是由 docker 提供的,也不一定在所有系统上都可用:

列表:

docker images -a |  grep "pattern"
登录后复制

删除:

docker images -a | grep "pattern" | awk '{print ":"}' | xargs docker rmi
登录后复制

删除所有镜像

a 上的所有 docker 镜像可以通过在 docker images 命令中添加 -a 来列出系统。一旦您确定要全部删除它们,您可以添加 -q 标志以将映像 id 传递给 docker rmi:

list:

docker images -a
登录后复制
登录后复制

删除:

docker rmi $(docker images -a -q)
登录后复制

正在删除容器

删除一个或多个特定容器

使用带有 -a 标志的 docker ps 命令来查找要删除的容器的名称或 id删除:

列表:

docker ps -a
登录后复制
登录后复制

删除:

docker rm id_or_nameid_or_name
登录后复制

退出时删除容器

如果您知道在创建容器时您不想保留它完成后,您可以运行 docker run --rm 以在退出时自动删除它:

运行并删除:

docker run --rm image_name
登录后复制

删除所有退出的容器

您可以使用 docker ps -a 定位容器并按状态过滤它们:已创建、正在重新启动、正在运行、已暂停或退出。要查看已退出容器的列表,请使用 -f 标志根据状态进行过滤。当您确认要删除这些容器后,请使用 -q 将 id 传递给 docker rm 命令:

列表:

docker ps -a -f status=exited
登录后复制

删除:

docker rm $(docker ps -a -f status=exited -q)
登录后复制

删除使用多个容器filter

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 }' | xargs docker rm
登录后复制

停止并移除所有容器

您可以查看使用 docker ps 系统上的容器。添加 -a 标志将显示所有容器。当您确定要删除它们时,可以添加 -q 标志以向 docker stop 和 docker rm 命令提供 id:

list:

docker ps -a
登录后复制
登录后复制

删除:

docker stop $(docker ps -a -q)docker rm $(docker ps -a -q)
登录后复制

删除卷

删除一个或多个特定卷

使用 docker volume ls 命令找到要删除的一个或多个卷名称。然后,您可以使用 docker volume rm 命令删除一个或多个卷:

列表:

docker volume ls
登录后复制

删除:

docker volume rm volume_namevolume_name
登录后复制

删除悬空卷

从那时起卷的存在独立于容器, 当删除容器时,卷不会自动删除 同时。当卷存在并且不再连接到任何卷时 容器,称为悬空卷。  要找到它们以确认要删除它们,可以使用 docker volume ls 带有过滤器的命令将结果限制为悬空卷。什么时候 如果您对列表感到满意,可以使用 docker volume prune 删除它们:

列表:

docker volume ls -f dangling=true
登录后复制

删除:

docker volume prune
登录后复制

移除容器及其卷

如果创建未命名卷,则可以使用 -v 标志将其与容器同时删除。请注意,这仅适用于未命名的 卷。当容器被成功移除后,其id为 显示。请注意,没有提及删除该卷。 如果未命名,则会默默地从系统中删除。如果是的话 命名后,它会默默地存在。

删除:

docker rm -v container_name
登录后复制

以上就是如何删除 docker 映像、容器和卷的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

  • docker可以实现什么功能

    docker可以实现什么功能

    docker:不止是容器,更是应用交付的革命docker能实现什么功能?这个问题的答案远比你想象的要丰富。它不仅仅是简单的“容器化”,而是彻底改变了软件开发、部... [阅读全文]
  • docker启动命令是什么

    docker启动命令是什么

    docker启动容器的命令为“docker start ”。该命令指定要启动的容器的名称或id,并启动处于停止状态的容器。docker启动命令启动docker容... [阅读全文]
  • docker和虚拟机的区别 docker和虚拟机有什么区别

    docker和虚拟机的区别 docker和虚拟机有什么区别

    docker 和虚拟机:轻量级容器与重量级虚拟化的较量你可能在琢磨 docker 和虚拟机到底有啥区别,为啥一个火得不行,另一个也依然坚挺? 这篇文章就来扒一... [阅读全文]
  • docker应用日志存放位置

    docker应用日志存放位置

    docker日志通常存储在容器的/var/log目录中。直接访问日志文件需使用docker inspect命令获取日志文件路径,再使用cat命令查看。也可以使用... [阅读全文]
  • docker原理详解

    docker原理详解

    docker利用linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(union... [阅读全文]
  • Docker使用gpu服务器就重启

    Docker使用gpu服务器就重启

    在 gpu 服务器上使用 docker 时服务器重启是由以下原因引起的:cuda 版本冲突驱动程序问题内存分配错误解决方法:确保 cuda 版本匹配更新驱动程序... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com