百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

删除所有本地Docker镜像的方法

nanshan 2025-05-16 15:02 23 浏览 0 评论

技术背景

在使用Docker进行开发和测试过程中,随着时间的推移,本地会积累大量不再需要的Docker镜像和容器。这些冗余的镜像和容器会占用大量磁盘空间,影响系统性能。因此,了解如何有效地删除本地Docker镜像和容器是很有必要的。

实现步骤

1. 删除所有容器

在删除镜像之前,需要先确保所有相关容器已经被删除。因为如果有容器正在使用某个镜像,Docker将不允许删除该镜像。

Unix系统

docker rm -vf $(docker ps -aq)

此命令会列出所有容器的ID,并使用docker rm -vf强制删除这些容器及其关联的卷。

Windows - PowerShell

docker images -a -q | % { docker image rm $_ -f }

该命令通过管道将所有镜像的ID传递给docker image rm -f命令,逐个强制删除镜像。

Windows - cmd.exe

for /F %i in ('docker images -a -q') do docker rmi -f %i

该命令使用for循环遍历所有镜像的ID,并执行docker rmi -f命令强制删除镜像。

2. 删除所有镜像

使用docker rmi命令

docker rmi -f $(docker images -aq)

此命令会列出所有镜像的ID,并使用docker rmi -f强制删除这些镜像。

使用docker system prune命令

docker system prune -a --volumes

该命令会删除所有停止的容器、未被使用的网络、卷、没有关联容器的镜像以及所有构建缓存。

使用docker image prune命令

docker image prune -a -f

此命令会删除所有未被使用的镜像,-a参数表示删除所有未使用的镜像,而不仅仅是悬空镜像,-f参数表示不进行确认提示。

核心代码

Unix系统删除所有容器和镜像

# 删除所有容器
docker rm -vf $(docker ps -aq)
# 删除所有镜像
docker rmi -f $(docker images -aq)

使用docker system prune清理所有未使用资源

docker system prune -a --volumes

使用docker image prune删除未使用镜像

docker image prune -a -f

最佳实践

  • 定期清理:定期执行清理命令,避免本地镜像和容器过多。
  • 使用过滤器:如果只想删除特定的镜像,可以使用docker rmi -f $(docker images -af <YOUR_FILTER_PATTERN> -q)命令,例如docker rmi -f $(docker images -af since=node:18 -q)
  • 脚本化操作:将清理命令编写成脚本,方便重复执行。

常见问题

1. 权限问题

在某些系统上,可能需要使用sudo来执行Docker命令,例如在AWS EC2的Ubuntu实例上:

sudo docker rm -vf $(sudo docker ps -aq)
sudo docker rmi -f $(sudo docker images -aq)

2. 磁盘空间未释放

如果使用docker system prune -a --volumes后磁盘空间未完全释放,可能是由于某些文件系统缓存或其他问题。可以尝试重启Docker服务或系统。

3. 镜像被容器引用

如果在删除镜像时提示“image is being used by running container”,则需要先停止并删除相关容器,再删除镜像。

相关推荐

关于WEB服务器一些经验累积(三)(web服务器出现后,面临的主要问题是什么)

13、关闭IISHTTPRERR日志功能默认情况下,2003服务器会把所有IIS访问错误的记录写入C:\WINDOWS\system32\LogFiles\HTTPERR下的log文件中,如...

ActiveReports报表控件教程之如何使用JSP程序调用it

ActiveReports报表解决方以提供.NET报表所需的全部报表设计和管理功能先于同类产品。ActiveReports可在.NET多个平台无缝迁移,也能扩展到Java/PHP/Node.js等We...

关于WEB服务器(.NET)一些经验累积(一)

以前做过技术支持,把一些遇到的问题累积保存起来,现在发出了。1.问题:未能加载文件或程序集“System.EnterpriseServices.Wrapper.dll”或它的某一个依赖项。拒绝访问。解...

花生壳+win10搭建私人网站(花生壳网站是干嘛的)

花生壳+win10搭建私人网站如何在电脑搭建私人服务器,实现在个人电脑上搭建私人网站功能,结合本人的实际操作经验,下面从花生壳注册,电脑端设置,路由器端如何设置,作一个详细介绍,方便广大网友,在自己家...

如何在web api中使用SignalR(web api swagger)

第一步:建webapi项目第二步:nuget导入signalrInstall-PackageMicrosoft.AspNet.SignalRInstall-PackageMicrosoft.Ow...

「Net Core开发」webapi 开发(.net开发web)

之前的文章:【NetCore开发】C#开发跨平台程序「NetCore开发」C#开发跨平台窗体应用本篇说明如何创建基于netcore的webapi以及加入API管理选择模板创建项目在co...

腾讯QQ邮箱出现大面积宕机(qq邮箱存在异常怎么回事)

今天早上,据大量QQ用户反映,腾讯QQ邮箱大面积出现无法正常登陆、使用的状况,在打开的QQ邮箱页面显示“503:HTTPError503服务暂时不可用,请刷新重试。如果多次刷新仍未恢复正常,请稍...

【全民奇迹2.4版】服务端+客户端+超详细架设教程 使用说明

架设教程如下:1.首先把MU_Server放在到D盘根目录2.安装常用游戏架设环境和NotePad++3.在控制面板打开服务器管理器-添加角色Web服务器(IIS)-勾选应用程序开发安装完成后打开II...

「开源分享」Web版流程图绘图系统

系统使用说明本项目为Web版流程图绘图,兼容IE、FF、Chrome等各主流浏览器,提供了各类基础图形,至于如何应用及用来做什么就随各位了,常规的流程图及逻辑辅助、工作流等皆可胜任。本系统虽为开源项目...

windows+iis脚本映射方式实现伪静态(包括asp.net)

一.Windows2008、2012或更高系统只需要在设置脚本影射的目录下创建web.config文件,其内容为<?xmlversion="1.0"encoding=&#...

记录处理登录页面显示: HTTP Error 503. The service is unavailable.

某天一个系统的登录页面无法显示,显示ServiceUnavailableHTTPError503.Theserviceisunavailable,马上登录服务器上查看IIS是否正常。打...

安全狗禁止IIS执行程序可被绕过(安全狗能防御ddos吗)

安全狗禁止IIS执行程序绕过,他们说标题要吊,姿势要帅才能过狗。。。。下图是一个c#写的小马,可以执行任意命令打开网站安全狗开启禁止执行程序防护功能由于安全狗只支持32位程序池那我们网站设置程序...

server2016iis怎么建立网站(server2003搭建网站)

要在WindowsServer2016上使用IIS(InternetInformationServices)建立网站,可以按照以下步骤进行:第一步、安装IIS打开服务器管理器(ServerM...

win7 64位 server.CreateObject(&quot;excel.application&quot;)

win764位Excel.Application问题ASP问题1、Setxlexcel=server.CreateObject("excel.application")不能运...

Net Core 部署IIS(.net core执行流程)

阅读目录先基本的发布配置发布属性服务器安装环境上传发布文件在IIS上添加站点配置网站配置程序池添加web.config验证,大功告成回到顶部先基本的发布操作:右击web项目的《发布》按钮。选文件回到顶...

取消回复欢迎 发表评论: