docker磁盘或者镜像清理相关内容 | 二丫讲梵


本站和网页 https://wiki.eryajf.net/pages/032ab9/#_3-%E8%BF%87%E6%BB%A4 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

docker磁盘或者镜像清理相关内容 | 二丫讲梵
二丫讲梵 首页运维 运维 最佳实践 迎刃而解 Nginx Php Zabbix Prometheus Grafana CentOS Systemd Docker Rancker Ansible Ldap Gitlab GitHub Etcd Consul RabbitMQ Kafka MySql MongoDB OpenVPN KVM VMware Other专题 专题 ELK K8S Nexus Jenkins生活 生活 随写编年 家人物语 追忆青春 父亲的朋友圈 电影音乐 效率工具 博客相关编程 编程 Shell 前端实践 Vue学习笔记 Golang学习笔记 Golang编程技巧周刊 周刊 学习周刊 Obsidian插件周刊关于友链推广页面 页面 本站索引 分类标签归档本站页面 导航打赏我的工具
备忘录清单
(opens new window)
网站状态
(opens new window)
json2go
(opens new window)
微信MD编辑
(opens new window)
国内镜像
(opens new window)
出口IP查询
(opens new window)
代码高亮工具
(opens new window)外站页面
开往
(opens new window)
ldapdoc
(opens new window)
HowToStartOpenSource
(opens new window)
vdoing-template
(opens new window)
GitHub
(opens new window) 二丫讲梵 行者常至,为者常成 首页运维 运维 最佳实践 迎刃而解 Nginx Php Zabbix Prometheus Grafana CentOS Systemd Docker Rancker Ansible Ldap Gitlab GitHub Etcd Consul RabbitMQ Kafka MySql MongoDB OpenVPN KVM VMware Other专题 专题 ELK K8S Nexus Jenkins生活 生活 随写编年 家人物语 追忆青春 父亲的朋友圈 电影音乐 效率工具 博客相关编程 编程 Shell 前端实践 Vue学习笔记 Golang学习笔记 Golang编程技巧周刊 周刊 学习周刊 Obsidian插件周刊关于友链推广页面 页面 本站索引 分类标签归档本站页面 导航打赏我的工具
备忘录清单
(opens new window)
网站状态
(opens new window)
json2go
(opens new window)
微信MD编辑
(opens new window)
国内镜像
(opens new window)
出口IP查询
(opens new window)
代码高亮工具
(opens new window)外站页面
开往
(opens new window)
ldapdoc
(opens new window)
HowToStartOpenSource
(opens new window)
vdoing-template
(opens new window)
GitHub
(opens new window) 最佳实践 迎刃而解 Nginx Php Zabbix Prometheus Grafana CentOS Supervisord Systemd Docker docker的几种安装方式docker配置加速器的几种方案docker搭建官方版私有仓库(了解)Docker笔记之企业级仓库harbor搭建认识了解Dockerfile利用Dockerfile创建一些基础镜像Docker笔记之与镜像相关的命令整理从docker容器时间问题探究到Namespace问题Docker笔记之制作kafka镜像Docker笔记之制作lnmp镜像Docker笔记之使用apline镜像Docker笔记之修改默认数据存储目录Docker笔记之修改默认网段docker磁盘或者镜像清理相关内容1,查看磁盘占用2,清理镜像1,介绍2,删除所有悬空镜像。3,过滤3,定义容器日志大小centos镜像添加chrome浏览器以及中文字体利用buildx构建支持多CPU架构平台的docker镜像docker exec命令中含有通配符执行失败的问题Docker 调试构建失败的 Dockerfile 的方法Docker-Compose Rancher Ansible OpenLdap GitLab GitHub Etcd Consul RabbitMQ Kafka Mysql MongoDB OpenVPN Kvm VMware 配置文件详解 Other 运维观止Docker 二丫讲梵 2021-08-22 目录 docker磁盘或者镜像清理相关内容
这篇文章的发布时间较早,其中的内容可能已经过时,阅读时请注意甄别。
# 1,查看磁盘占用 docker system df 命令,类似于 Linux上的 df 命令,用于查看 Docker 的磁盘使用情况: docker system df
1TYPE列出了 Docker 使用磁盘的 4 种类型: Images :所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers :运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes :容器挂载本地数据卷的空间。 Build Cache :镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。 最后的 RECLAIMABLE 是可回收大小。 docker system prune : 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。 docker system prune -a : 清理得更加彻底,可以将没有容器使用 Docker镜像都删掉。
注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了。 # 2,清理镜像 # 1,介绍 使用 docker image prune可以 删除未使用的映像,注意API 1.21+ (opens new window)要使用此命令,客户端和守护进程API都必须至少是 1.21 (opens new window) 。 $ docker image prune -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones 删除所有未使用的映像,而不仅仅是悬空映像
--filter filter Provide filter values (e.g. 'until=<timestamp>') 提供过滤值(例如'until =“)
-f, --force Do not prompt for confirmation 不要提示确认
1234567891011# 2,删除所有悬空镜像。 删除所有悬空映像。如果-a指定,还将删除任何容器未引用的所有映像。 $ docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
1234# 3,过滤 过滤标志(--filter)格式为"key = value"。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz") 目前支持的过滤器是: until(<timestamp>) - 仅删除在给定时间戳之前创建的映像 标签(label=<key>,label=<key>=<value>,label!=<key>,或label!=<key>=<value>) -仅删除与映像(或没有,如果label!=...被使用)指定的标签。 该until过滤器可以是Unix的时间戳,日期格式的时间戳,或持续时间字符串(例如,去10m,1h30m)计算相对于守护机器的时间。支持的格式为日期格式时间戳包括RFC3339Nano,RFC3339, ,2006-01-02T15:04:05,2006-01-02T15:04:05.999999999,2006-01-02Z07:00和2006-01-02。如果在时间戳结束时未提供a Z或 +-00:00时区偏移,则将使用守护程序上的本地时区。提供Unix时间戳时输入秒[.nanoseconds],其中秒是自1970年1月1日(午夜UTC / GMT)以来经过的秒数,不计算闰秒(也称为Unix纪元或Unix时间)和可选项。纳秒字段是一秒的一小部分,不超过九位数。 的label过滤器接受两种格式。一个是label=...(label=<key>或label=<key>=<value>),它删除具有指定标签的映像。另一种格式是label!=...(label!=<key>或label!=<key>=<value>),它删除没有指定标签的映像。 预测将被删除的内容 如果使用正过滤(测试标签是否存在或标签是否具有特定值),则可以使用docker image ls相同的过滤语法查看哪些映像与过滤器匹配。 但是,如果使用的是负过滤(测试对于不存在标签的或标签并不具有特定的值),这种类型的滤波器的不与工作docker image ls所以不能容易地预测哪些映像将被移除。此外,即使您正在使用,确认提示docker image prune 始终会警告所有悬空映像将被删除 --filter。 以下删除之前创建的映像2021-01-01T00:00:00。 查看: $ docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedAt}}\t{{.Size}}'
REPOSITORY TAG IMAGE ID CREATED AT SIZE
test latest 65f677cc947a 2021-08-19 22:38:05 +0800 CST 445MB
registry.cn-hangzhou.aliyuncs.com/eryajf/centos 7.8 5ea7c3a67505 2020-11-01 18:32:46 +0800 CST 475MB
1234执行删除: $ docker image prune -a --force --filter "until=2021-01-01T00:00:00"
Deleted Images:
untagged: registry.cn-hangzhou.aliyuncs.com/eryajf/centos:7.8
untagged: registry.cn-hangzhou.aliyuncs.com/eryajf/centos@sha256:f7c413edcad7a3389e079cf04b4cddb46c96d67d29bf8c0d48dbd1ceeee2b474
deleted: sha256:5ea7c3a675055762552ad50b6f293bb050bdee188da3a2c37c61be90450f5987
deleted: sha256:c8279b704e4fb851f28a3fe2f02365df13bed3b6cc9b1fae6b2c50d562b04cec
deleted: sha256:e5a0eda56319769809257786837e4478e778aba54cdac72a468a8ac053637ca4
deleted: sha256:da34d2fe9e29af7b5ad6447089b19c2d0c7aa11d79641ca25e3de88a851706c7
deleted: sha256:613be09ab3c0860a5216936f412f09927947012f86bfa89b263dfa087a725f81
Total reclaimed space: 475.2MB
1234567891011可以看到在这个时间点之前的centos镜像被删除了。如果这个镜像在占用状态,则不会删除。查看验证: $ docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedAt}}\t{{.Size}}'
REPOSITORY TAG IMAGE ID CREATED AT SIZE
test latest 65f677cc947a 2021-08-19 22:38:05 +0800 CST 445MB
123其他一些用法: 删除超过10天240h前创建的映像: $ docker image prune -a --force --filter "until=240h"
1 使用标签删除映像deprecated: $ docker image prune --filter="label=deprecated"
1 删除标签maintainer设置为的映像john: $ docker image prune --filter="label=maintainer=john"
1 删除没有maintainer标签的映像: $ docker image prune --filter="label!=maintainer"
1 删除维护者标签未设置为的映像john: $ docker image prune --filter="label!=maintainer=john"
1 注意:在prune删除任何内容之前,系统会提示您进行确认,但不会显示可能删除的内容列表。此外,docker image ls不支持负过滤,因此很难预测实际将删除哪些映像。 # 3,定义容器日志大小 在docker环境部署之后,我们可以直接通过配置文件参数来定义单个容器日志的大小,在/etc/docker/daemon.json添加如下配置后重启docker: "log-opts": {
"max-size":"300M",
"max-file":"3"
},
"data-root": "/data/docker/docker-data/"
12345注意:已存在的容器需要删除重建后才可以生效,因此尽量在docker投入生产之前进行配置。 参数说明:max-size指定日志文件最大空间,max-file指定日志滚动的次数,以上配置单个容器最大日志为900M。data-root指定docker数据目录。
打赏
上次更新: 2022/08/19, 09:49:20
Docker笔记之修改默认网段 centos镜像添加chrome浏览器以及中文字体→
最近更新 01
规范编码之利用pre-commit给项目添加提交前检查
02-2602
记录VSCode中写Go代码切换Sqlite无CGO依赖版本的过程以及遇到的五个问题
02-2503
学习周刊-总第95期-2023年第08周
02-24 更多文章>
Theme by
Vdoing
| Copyright © 2017-2023
| | 浙ICP备18057030号
跟随系统
浅色模式
深色模式
阅读模式