美文网首页
Docker 容器磁盘占用100%

Docker 容器磁盘占用100%

作者: 一二先生 | 来源:发表于2019-09-30 14:06 被阅读0次

目前生产环境使用的docker+微服务的环境,配合自动化编译部署环境,大大减少了,项目测试或上线的复杂度,让运维变得了快乐起来,可是在服务运行的一段时间后,某些主机磁盘空间被占满了(项目本身对磁盘要求不高,因此默认使用的是40G磁盘空间的云服务器),于是又进入了漫长的踩坑之路

首先查看磁盘占用

df -h

结果显示多条如下数据

overlay  40G   40G  0G  100% /var/lib/docker/overlay2/{id}/merged

百度到了清理docker空间的方法,可用于清理一些无用的docker数据

docker system prune -a

执行之后,发现虽然清理了2个多G的数据,但是依旧无法明白为何几个微服务会占用那么多的磁盘空间,于是尝试查找系统中的大文件

 find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr # 查找"/"目录下所有大于100M的所有文件

发现/var/lib/docker/containers/{container_id}/下存在数据较大的*-json.log日志文件,百度发现这是docker容器运行的标准输入日志,遂删除之。项目中已使用-v的方式挂载项目输出日志文件,因此对容器运行日志没有了需求,研究后发现在构建参数的时候可以对标准输入日志大小数量进行限制,以减少日志文件对存储空间的占用,以下配置分别为日志文件最大容量、最大日志文件数。

docker run ...... --log-opt max-size=10m --log-opt max-file=1

也可以在docker的配置文件中进行全局修改:新建或修改/etc/docker/daemon.json,添加log-dirver和log-opts参数(daemon.json参数说明:https://www.cnblogs.com/pzk7788/p/10180197.html

{
   "log-driver":"json-file",
   "log-opts": {"max-size":"10m", "max-file":"1"}
}

另外,在查找大文件的扫描结果中,可能有通过-v进行了挂载数据目录的,里面的数据可根据相应的挂载目录找到对应的容器进行清理或设置;也可能有出现许多容器产生的未通过-v挂载的目录/var/lib/docker/overlay2/{id}/merged,即文章开头通过df -h找到的文件(如果一个宿主机存在多个容器,多个容器的数据都位于宿主机的overlay(Filesystem),而且大小一致),可通过docker inspect {container}GraphDriver找到}/var/lib/docker/overlay2/{id}中的{id},进而确定容器进行清理或设置

相关文章

  • Docker 容器磁盘占用100%

    目前生产环境使用的docker+微服务的环境,配合自动化编译部署环境,大大减少了,项目测试或上线的复杂度,让运维变...

  • 常用shell

    链接 查看文件磁盘占用 docker

  • Spring Boot应用监控实战

    概述 之前讲过Docker容器的可视化监控,即监控容器的运行情况,包括 CPU使用率、内存占用、网络状况以及磁盘空...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • 查找未被容器使用的docker镜像

    需求 项目通过docker容器化后,由于种种原因,项目部署后存在未被容器使用的镜像,占用磁盘空间。因此,需要查找未...

  • Docker 基本理解

    容器: 磁盘占用空间更少 虚拟机: 应用 依赖的库 完整的操作系统 docker : 应用. 依赖的库 虚拟机:...

  • 清理Docker占用过大的磁盘空间

    1、 查看Docker的磁盘使用 2、查看Docker磁盘使用情况 此命令查看docker的容器、镜像、netwo...

  • docker 笔记

    运行一个容器 列出镜像 容器 列出docker 磁盘 删除虚悬镜像 *进入容器 提交一个镜像 docker --l...

  • docker容器占用磁盘内存过大的问题排查

    笔者所有文章第一时间发布于:hhbbz的个人博客 问题描述 同事在生产环境中使用Docker去部署ELK日志搜集系...

网友评论

      本文标题:Docker 容器磁盘占用100%

      本文链接:https://www.haomeiwen.com/subject/nhasyctx.html