在Docker平常运用里头,镜像管理属于每一位开发者均会碰到的基础操作,随着项目迭代以及测试开展了以后,于系统当中将会积攒许多不再需要的镜像,它们不但占据着宝贵的磁盘空间,而且还可能对构建以及部署效率产生影响,弄明白该如何安全彻底地清除这些镜像,为维护一个整洁高效的开发环境实在紧要 本文会从基础命令讲到高级技巧,系统地去介绍Docker镜像删除的完整流程以及实用方法 。

如何查看本地Docker镜像列表

运用docker images这条命令能够将所有于本地存储着的镜像给罗列出来,此份列表会展现出镜象的仓库名,还有标签,以及镜像ID,并且体现创建时间与大小等相关信息,借助这个列表,可以迅速知晓当下系统里存在着哪些镜像,以及这些镜像所占据的空间状况 。

默认镜像列表是依照仓库名来进行排序的,你能够运用-q参数仅仅展示镜像ID,又或者运用--no-trunc参数来呈现完整的镜像ID喔。将其与grep命令衔接起来能够挑选特定的镜像,臂如docker images | grep nginx就会仅仅展示和nginx相关联的镜像呢,而且这些筛选的技战术方法在批量开展操作的时候是格外生效的呀。

怎样删除单个Docker镜像

使用docker rmi命令来删除单个镜像,此命令后面能够接上镜像ID或者镜像名。一旦镜像带有多个标签,那要把所有标签先删除掉,才可以将镜像文件彻底删除。删除之时会展示出完整的镜像ID,以此来确认执行操作成功。

docker 删除images_dockerimages_删除照片

要是镜像正被容器所使用,不管是处于运行状态还是已经停止,删除操作都会遭遇失败。在这个阶段需要先将依赖该镜像的容器给删除。能够运用-f参数来进行强制删除,然而并不推荐采用这种做法,因为它有可能致使容器状态出现异常。

如何批量删除多个Docker镜像

在批量删除方面,docker rmi具备同时指定多个镜像ID的能力。不过,更为高效的做法是运用docker images -q并结合过滤条件,随后把结果传送给docker rmi。举例来说 ,docker rmi $(docker images -q)能够达成删除所有镜像的操作。

dockerimages_删除照片_docker 删除images

借助 --filter 参数能够依照条件来筛选镜像,举例来说,docker rmi $(docker images -q --filter "dangling=true") 这种命令会将所有呈现悬空状态的镜像予以删除,处于悬空模样的镜像是那些不存在标签况且没有被任何镜像拿来引用的层面,一般是形成新镜像期间所产出的位于中间阶段模样的镜像 。

Docker镜像删除失败怎么办

没办法成功删除,最平常的缘由是那种像映象一样的东西正被某个容器给利用着。在这个时候,得先去核查并把有关联的容器给删掉,借助docker ps -a去观察全部的容器,而后采用docker rm去抹除有联系的容器。假设容器数量很多,能够运用docker rm $(docker ps -aq)一下子把所有已停止的容器都给删掉。

导致的另一个常见缘由是,有其他镜像对该镜像存在相依。在此种状况之际,得先将倚赖它的所有镜像予以移除。借助docker image inspect能够查看镜像的依存关联。有时因镜像ID输入不全,亦可致使删除失利,建议采用完整镜像ID的前几位 。

dockerimages_docker 删除images_删除照片

如何彻底清理所有未使用的Docker镜像

docker system prune命令,能够通过一键操作,清理掉全部未被使用的镜像,以及容器、网络和构建缓存,且该命令特别适宜于磁盘空间紧张时运用,它能够快速回收起大量的空间用以占用执行,执行此命令操作时红旗linux操作系统,会列出即将要被删除的对象,同时也会列举出预估将会释放出来的空间,且执行进程状态处于尚待确认经过校验没问题之后才可以持续执行下去使用。

要是只想清理镜像,那么能用到 docker image prune -a。给其加上 -f 参数,就能跳转确认直接去进行执行。建议定期去运行这些清理命令docker 删除images,尤其是在持续集成环境里,每次构造之后都应当清理未利用的镜像,防止磁盘内存给快速占满的情况出现 。

Docker镜像删除的最佳实践是什么

docker 删除images_删除照片_dockerimages

于生产环境里头,在将镜像删除以前,务必要去确认该镜像的确是不再被需要了的。在此建议,先针对重要的镜像去打上特定的标签,接着把它推送至镜像仓库予以备份。删除这般的操作,最好是在系统负载较为低的时候来开展,以此避免对正在运行着的服务造成影响。

设置镜像清除的规范化步骤是相当重关键的呀,能够着手打造将用于自行运转移除任务的脚本哩。于该脚本当中理应含有安全检验环节的呀,以此来避免错误拿掉关键镜像的情况发生哩。与此同时呀还要去记录收拾的日志哩,有助于后续期间的审核对照以及问题查找哩。

你于平常开发里碰到的最为棘手的Docker镜像清理方面的问题是啥linux手机软件,欢迎在评论区域分享你的经历以及解决方案docker 删除images,要是认为本文存在用处,请点赞并且分享给更多有需求的友人,。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复