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 标签 ...
随机推荐
- TypeScript – Decorator 装饰器
前言 TypeScript 5.0 之后就可以使用正真的 JS Decorator 了, 从前 experiment 的版本依然可用, 但是不建议继续用, 因为差很远, 一起用会混乱. Decorat ...
- Asp.net core 学习笔记 ( 小东西 )
简单的为 url 添加 query var parametersToAdd = new System.Collections.Generic.Dictionary<string, string& ...
- Figma 学习笔记 – Team Library Style and Component
Design System 我们做设计通常会 Follow 一个 Design System, 比如 Material Guide. 里头会定义 Font, Color, Effect (Elevat ...
- 使用MessagePipe实现进程间通信
1.MessagePipe介绍 可以用于.NET和Unity上面的高性能的内存/分布式消息传递管道.适用于发布/订阅模式.CQRS的中介模式.Prism中的EventAggregator.IPC(进程 ...
- TS体操类型学习记录
Easy 1. Easy - 4 - Pick 从类型 T 中选出符合 K 的属性,构造一个新的类型 type MyPick<T, K extends keyof T> = { [key ...
- 使用 Docker 部署 MySql
前言 虽然不建议将需要持久化的数据保存在容器中,但是自己平时做个小项目玩玩还是没什么问题的. 拉取镜像 docker pull mysql 不加 tag 的话默认从 DockerHub 拉取最新版本的 ...
- 利用3Dnii标签文件,生成png图片
为了便于直观的看到2D标签,通常会将其转化为png图像,具体代码如下: # coding:utf-8 from glob import glob import os import SimpleITK ...
- 04 统计语言模型(n元语言模型)
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- work中模板、主题、样式集、样式的作用和使用方法
[收藏]Word样式.样式集.主题.模版怎么区分?进来围观学习了~ 我们先来按照层次关系从小到大排序:样式<样式集<主题<模板 接下来,我们按照层次关系从小到大开始了解它们之间的的区 ...
- Exchange2016虚拟目录介绍
Exchange2016虚拟目录介绍 Autodiscover 允许Outlook自动发现邮箱设置,以便用户无需手动配置Outlook的高级设置. ecp 用于访问EAC. EWS 提供如服务可用性, ...