搜索
首页运维Docker如何删除 Docker 映像、容器和卷

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

Jan 09, 2025 am 10:23 AM
dockerdocker 容器

码头工人 可以轻松地将应用程序和服务包装在容器中,以便 你可以在任何地方运行它们。然而,当您使用 Docker 时,它也 容易积累过多未使用的镜像、容器和 数据量会扰乱输出并消耗磁盘空间。

Docker 为您提供了清理系统所需的所有工具 命令行。这个备忘单式的指南提供了快速 参考对于释放磁盘空间和保留有用的命令 通过删除未使用的 Docker 镜像、容器和容器来组织您的系统

截屏2025-01-09 10.03.57.png

清除所有未使用或悬空的镜像、容器、卷和网络

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 映像、容器和卷的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:digitalocean.com。如有侵权,请联系admin@php.cn删除
Docker vs. Kubernetes:主要差异和协同作用Docker vs. Kubernetes:主要差异和协同作用May 01, 2025 am 12:09 AM

Docker和Kubernetes是容器化和编排的领军者。Docker专注于容器生命周期管理,适合小型项目;Kubernetes则擅长容器编排,适用于大规模生产环境。两者结合可提升开发和部署效率。

Docker and Linux:完美的合作伙伴关系Docker and Linux:完美的合作伙伴关系Apr 30, 2025 am 12:02 AM

Docker和Linux是完美的搭配,因为它们可以简化应用的开发和部署流程。1)Docker利用Linux的namespaces和cgroups实现容器隔离和资源管理。2)Docker容器比虚拟机更高效,启动速度快,镜像分层结构便于构建和分发。3)在Linux上,Docker的安装和使用非常简单,只需几条命令即可。4)通过DockerCompose,可以方便地管理和部署多容器应用。

Docker vs. Kubernetes:决定使用哪个Docker vs. Kubernetes:决定使用哪个Apr 29, 2025 am 12:05 AM

Docker和Kubernetes的区别在于:Docker是容器化平台,适合小型项目和开发环境;Kubernetes是容器编排系统,适合大型项目和生产环境。1.Docker简化应用部署,适用于资源有限的小型项目。2.Kubernetes提供自动化和扩展能力,适用于需要高效管理的大型项目。

Docker和Kubernetes:构建可扩展应用程序Docker和Kubernetes:构建可扩展应用程序Apr 28, 2025 am 12:18 AM

使用Docker和Kubernetes可以构建可扩展的应用。1)使用Dockerfile创建容器镜像,2)通过kubectl命令部署Kubernetes的Deployment和Service,3)使用HorizontalPodAutoscaler实现自动扩展,从而构建高效、可扩展的应用架构。

Kubernetes和Docker:比较分析Kubernetes和Docker:比较分析Apr 27, 2025 am 12:05 AM

Docker和Kubernetes的主要区别在于:Docker用于容器化,Kubernetes用于容器编排。1.Docker提供一致的环境来开发、测试和部署应用,通过容器实现隔离和资源限制。2.Kubernetes管理容器化应用,提供自动化部署、扩展和管理功能,支持负载均衡和自动伸缩。两者结合使用能提升应用的部署和管理效率。

在Linux上运行Docker:安装和配置在Linux上运行Docker:安装和配置Apr 26, 2025 am 12:12 AM

在Linux上安装和配置Docker需要确保系统为64位且内核版本3.10及以上,使用命令“sudoapt-getupdate&&sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io”安装,并用“sudodockerrunhello-world”验证。Docker利用Linux内核的命名空间和控制组实现容器隔离和资源限制,镜像是只读模板,容器可进行修改。使用示例包括运行Nginx服务器和自定义Dockerfile创建镜像。常见

为什么要使用Docker?解释的好处和优势为什么要使用Docker?解释的好处和优势Apr 25, 2025 am 12:05 AM

使用Docker的原因是它提供高效、便携且一致的环境来打包、分发和运行应用程序。1)Docker是一种容器化平台,允许开发者将应用程序及其依赖项打包到轻量级、可移植的容器中。2)它基于Linux容器技术和联合文件系统,确保快速启动和高效运行。3)Docker支持多阶段构建,优化镜像大小和部署速度。4)使用Docker可以简化开发和部署流程,提高效率并确保跨环境的一致性。

Docker在行动:现实世界中的示例和用例Docker在行动:现实世界中的示例和用例Apr 24, 2025 am 12:10 AM

Docker在实际项目中的应用场景包括简化部署、管理多容器应用和性能优化。1.Docker简化了应用部署,如使用Dockerfile部署Node.js应用。2.DockerCompose管理多容器应用,如微服务架构中的Web和数据库服务。3.性能优化使用多阶段构建减小镜像大小,并通过健康检查监控容器状态。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。