云计算核心技术Docker教程:Docker清理磁盘空间
|
用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响,这时候我们就需要经常清理让Docker环境如同初装一样纯净。 docker 占用的空间可以通过下面的命令查看: $ docker system df
TYPE 列出了docker 使用磁盘的 4 种类型: Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers:运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes:容器挂载本地数据卷的空间。 Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。 可知,Docker镜像占用了2.45GB磁盘,Docker容器占用了5.8KB磁盘,Docker数据卷占用了磁盘未使用。 docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及无tag的镜像。docker system prune -a命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉,但是使用这些命令时会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了,所以使用是一定要注意。 执行docker system prune -a命令Docker占用的磁盘空间减少:
对于旧版的Docker(版本1.13之前),是没有docker system命令的,因此需要进行手动清理。这里给出几个常用的命 删除所有关闭的容器 $ docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm 删除所有无tag的镜像: docker rmi $(docker images | grep "^" | awk "{print $3}") docker rmi $(docker images | grep "^" | awk "{print $3}") docker rmi $(docker images | grep "none" | awk '{print $3}') 删除所有未被任何容器关联引用的卷: docker volume rm $(docker volume ls -qf dangling=true) Docker存储使用容器内的业务日志务必配置轮询覆写,或者使用日志驱动将日志输出到外部存储这样可以避免日志文件持续增长,占用过高磁盘空间。另外可以结合外部监控对宿主机的磁盘空间使用情况进行监控和告警。 (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 特斯拉宣布发行20亿美元普通股 马斯克将购买1000万美元的股
- 低延时高音质 谈谈OPPO Enco Free的技术创新
- 3.5万美元版Model 3不卖了?外媒称特斯拉通知员工停止接受新
- 云计算核心技术Docker教程:解决Windows下docker端口映射问
- 贵州省着力推进“大数据+教育”深度融合 智慧教育风生水起
- 北大教授:传统车企只要开始造电动车 除了特斯拉其他都得凉
- 前苹果设计师组建的Syng公司拟推首款音箱Cell 叫板HomePod
- 27家A股游戏公司近6成净利下滑 有企业靠卖房维持业绩
- Epic Games公然挑战苹果 或为抓住反巨头情绪
- 汪涵团队回应:2018年已结束代言 但仍会全力跟进督促平台解


