docker 批量删除镜像
删除虚悬镜像
列出REPOSITORY
和TAG
均为<none>
的虚悬镜像:
$ docker images --filter dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> a55788f7b617 16 minutes ago 167MB
<none> <none> 2b5196aa06e0 22 minutes ago 677MB
<none> <none> 41abb532c35e 20 hours ago 677MB
<none> <none> 7ea74ab89838 23 hours ago 677MB
<none> <none> b1bd11ec8f78 24 hours ago 135MB
<none> <none> 7764b9256a1d 27 hours ago 674MB
删除所有虚悬镜像
docker rmi $(docker images --filter dangling=true -q)
也可以使用 docker image prune
命令,具体可参考 这里 。
docker image prune
命令还支持删除部分虚悬镜像:
如 docker image prune -f --filter until=24h
会删除24小时前的虚悬镜像,-a
标签还支持删除所有未使用的镜像。
批量删除指定镜像
自动构建过程中通常会伴随镜像的生成,若没有及时清理,会造成存在大量REPOSITORY
一样而TAG
不一样的镜像。通常这些镜像是不会使用的(仅会使用latest镜像)。
列出latest镜像之前的所有镜像:
$ docker images aka-gm --filter before=aka-gm:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
aka-gm 20221101_160758 ce8386df2d69 19 hours ago 183MB
aka-gm 20221031_172612 47575e94c770 42 hours ago 183MB
aka-gm 20221101_144456 47575e94c770 42 hours ago 183MB
aka-gm 20221031_151951 26f8429ac4a5 44 hours ago 183MB
aka-gm 20221031_104111 cc658c3c2216 2 days ago 183MB
aka-gm 20221028_184209 2a144383dd86 4 days ago 183MB
aka-gm 20221027_145419 20c7ce70a8d4 5 days ago 183MB
aka-gm 20221026_153626 f1d4f94a426e 6 days ago 183MB
这些镜像是不再使用的,且已推送到私有仓库(这里省略了仓库的HOST
),现在需要把他们全部删除。
从以上输出中取出镜像的REPOSITORY
与TAG
:
$ docker images aka-gm -f before=aka-gm:latest | grep aka-gm | awk '{printf "%s:%s\n",$1,$2}'
aka-gm:20221101_160758
aka-gm:20221031_172612
aka-gm:20221101_111237
aka-gm:20221101_144456
aka-gm:20221031_151951
aka-gm:20221031_104111
aka-gm:20221028_184209
aka-gm:20221028_115611
aka-gm:20221028_102701
aka-gm:20221027_145419
aka-gm:20221026_145618
aka-gm:20221026_153626
或者使用:
docker images aka-gm --filter before=aka-gm:latest --format "{{.Repository}}:{{.Tag}}"
接下来直接删除镜像即可:docker images aka-gm -f before=aka-gm:latest | grep aka-gm | awk '{printf "%s:%s\n",$1,$2}' | xargs -r docker rmi
排除TAG
为<none>
的镜像
若以上列出的镜像中有TAG
为<none>
的,会导致删除失败,需要排除该镜像。多过滤一次:
docker images aka-gm -f before=aka-gm:latest | grep aka-gm | grep -v "<none>" | awk '{printf "%s:%s\n",$1,$2}' | xargs -r docker rmi
删除TAG
为<none>
的镜像
同样只需修改上述命令中的grep
即可:
docker images aka-gm -f before=aka-gm:latest | grep "<none>" | awk '{printf "%s:%s\n",$1,$2}' | xargs -r docker rmi
docker 批量删除镜像的更多相关文章
- docker 批量删除 镜像 容器
我们在docker构建和测试时,经常会产生很多无用的镜像或者容器,我们可用如下两条命令一个一个删除. docker container rm 容器id #删除容器 可简写: docker rm 容器i ...
- docker批量删除镜像
docker rmi `docker images | grep swb | grep -v grep | awk '{print $3}'` 参考: https://blog.csdn.net/hi ...
- docker 批量删除容器和镜像
docker 批量删除容器和镜像 1,删除单个镜像或者容器 docker rmi 镜像ID/镜像名字:TAG docker rm 容器ID/容器名字 1.停止所有的container,这样才能 ...
- docker批量删除本地镜像和容器
长时间运行docker,每次只用docker kill去停止容器,但是从没删除过本地镜像,导致有上百个镜像在占用内存. 1.批量停止容器 docker container stop $(docker ...
- docker无法删除镜像,Error: No such container,附docker常用命令
最近打算删除掉docker镜像但是发现有几个镜像就是删除不了,加了-f强制删除也不行,一直报Error: No such container的错误,最后终于找到了办法直接删除文件,步骤如下: 切换到r ...
- [Docker]如何批量删除镜像
docker 使用一段时间之后,可能堆积很多用不着的,或者编译错误的镜像,一个一个删除就很麻烦,需要一个批量删除的方法,如下: docker rmi $(docker images | grep &q ...
- docker批量删除容器、镜像
1.删除所有容器 docker rm `docker ps -a -q` docker rm $(docker ps -aq) 2.删除所有镜像 docker rmi `docker images - ...
- docker批量删除容器、镜像(转载)
1.删除所有容器 docker rm `docker ps -a -q` 2.删除所有镜像 docker rmi `docker images -q` 3.按条件删除镜像 没有打标签 docker r ...
- docker 批量删除 none 镜像
在使用 docker images 命令的时候,经常会在列表中看到 <none>:<none> 的镜像. 这种镜像在 Docker 官方文档中被称作 dangling imag ...
- docker 批量删除
杀死所有正在运行的容器docker kill $(docker ps -a -q) 删除所有已经停止的容器docker rm $(docker ps -a -q) 删除所有未打 dangling 标签 ...
随机推荐
- Angular 18+ 高级教程 – Component 组件 の 生命周期钩子 (Lifecycle Hooks)
前言 之前在 Component 组件 の Angular Component vs Custom Elements 文章中,我们有学习过几个基础的 Lifecycle Hooks. 比如 OnCha ...
- 普元中间件Primeton AppServer6.5部署SuperMap iServer
本文使用Windows环境普元中间件Primeton AppServer6.5(以下简称PAS)部署SuperMap iServer 一.部署前准备 本文使用SuperMap iServer 11.0 ...
- 生理性喜欢(把我吃掉&病态饥饿)
alloverzyt 转载好文章 https://www.zhihu.com/question/627599874/answer/3494578704 什么是生理性喜欢? 是吃掉. 这不是什么夸张的写 ...
- 【解题报告】P8477 「GLR-R3」春分
P8477 「GLR-R3」春分 题目看起来比较魔怔,考虑怎么搞一下. 首先,一个最简单的想法,每对溶液组都配一个板子,可以用 \(n^2\) 个板子解决,看得出来很不优啊,但是可以得到 Sub1 的 ...
- Serilog文档翻译系列(七) - 应用设置、调试和诊断、开发接收器
01.应用设置 Serilog 支持在 App.config 和 Web.config 文件中使用简单的 配置语法,以设置最低日志级别.为事件添加额外属性以及控制日志输出. Serilog 主要通过代 ...
- Redis数据库常见命令
Redis数据库常见命令 Linux启动Redis # 启动服务 redis-server # 开启客户端 redis-cli # 关闭redis服务 shutdown #查看服务是否运行 ping ...
- 2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态
8月份的国产数据库流行度排行榜新鲜出炉.本月共有139个数据库参与了排名. 先来看看排行榜前五名.PingCAP的TiDB分数连续第二个月上涨,总分达到630.21,以136.48的分数差拉开了与第二 ...
- Vue的nextTick的原理
知识储备:事件循环有宏任务和微任务,宏任务所处的队列就是宏任务队列,队列可以有多个,第一个队列只有一个任务就是执行主线程的js代码,剩余队列任务有setTimeout setInterval微任务所处 ...
- k8s的pod的理解
pod共享相同的IP地址和端口空间. 这意味着在同一 pod中的容器运行的 多个进程需要注意不能绑定到相同的端口号, 否则会导致端口冲突, 但这只涉及同一pod中的容器. 由于每个pod都有独立的端口 ...
- DIY Matter Bridge 和智能锁简单联动的实践
一. 写在前面 在之前的博客文章 <基于乐鑫 ESP32-C3 的 Matter Light 实践>中,我们利用乐鑫的硬件和 SDK 方案实现了简单的 Light 例程,并对 Matter ...