docker如何删除悬空镜像

2025-02-14 18:50
文章标签 镜像 docker 删除 悬空

本文主要是介绍docker如何删除悬空镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将...

docker删除悬空镜像

前言

由于公司刚进行前后端分离的操作,并且使用了docker的方式来进行运维部署,极大的提升了部署的效率。

但是:

由于正式环境没有办法直接链接互联网和公司的docker hub, 所以每次只能是使用docker save + docker load 的方式进行,时间一长发现本地的服务器中存在大量的旧的镜像,非常不利于我们的导出,所以就想写一个命令来删除掉那些没有使用的历史镜像,本文章内容由此而来。

悬空镜像

我们在build镜像的过程中,可能会产China编程生一些临时的 不具有Tag 或者是 http://www.chinasem.cn即没有Tag 也没有名称的镜像 他们的名称一般都是<none>

docker官方提供的方式

$ docker rmi $(docker images -f "dangling=true" -q)
  • -f:表示filter,过滤
  • -q:表示只显示镜像ID;

自定义方式

通过管道的方式来删除镜像,例如:

$ docker images | grep none | awk 'BEGIN{ print "docker rmi \\" } {imageId=$3; print imageId" \\" } END{ print "" }' | sh

这个命令的含义是,先执行docker image命令,然后http://www.chinasem.cn在查询结果中过滤出包含 none 的数据,最后在匹配到的结果中先打印 docker rmi \, 然后再打印数据的第三列再每一行中添加 \ 字符串,最后在匹配结果的最后输出空白字符,

执行后的结果如下:

$ docker images | grep none | awk 'BEGIN{ print "docker rmi \\" } {imageId=$3; print imageId" \\" } END{ print "" }' 
docker rmi \
6dbd6f7d4324 \
ded29c866e3e \
6a2d7905d3fa \
fa539c873a18 \
1fa6ec26a6d9 \

哈哈哈哈,这个命令我能说纯粹是为了学习一下 awk 的用法,其实还有稍微简单一点的做法,例如:

$ docker rmi $(docker images | grep none | ahttp://www.chinasem.cnwk '{print $3}')

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于docker如何删除悬空镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153439

相关文章

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --