• Docker 容器占用大量磁盘空间


    今日在查看公司本地服务器的时候发现磁盘空间几乎要用完了,调查了一会发现是使用 docker 部署的 gitlab 容器产生了大量的日志文件,文件大约占用了 30G+,gitlab 容器大约运行了 2 年左右。这里记录下查找和解决过程。

    介绍几个 Linux 命令

    df -h 查看整个磁盘的空间使用情况
    du -sh /* 查询某个路径下的数据大小
    docker system prune -a    清理 docker 容器
    find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr  查找"/"目录下所有大于100M的所有文件
    echo "" > xxx.log  将 "" 写入到 xxx.log 文件中,从而使该文件大小瞬间变为 0
    docker run ...... --log-opt max-size=10m --log-opt max-file=1   对标准输入日志大小与数量进行限制
    

    过程

    今日在查看公司本地服务器的时候发现磁盘空间几乎要用完了,于是使用 du -sh /* 对根目录下所有目录计算大小,最后定位到是 /var/lib/docker/containers/{container_id}/ 下存在数据较大的 *-json.log 日志文件,于是使用 echo "" > xxx.log 的方式重置该文件大小。

    解决方案

    1.用 echo "" > xxx.log 的方式重置该文件大小。
    但是这个只是治标不治本的方法,归根结底控制这个 log 文件的生成策略才是上策。

    2.新建或修改/etc/docker/daemon.json

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

    设置 docker 只生成一个大小最大为 10M 的日志文件。

  • 相关阅读:
    新闻项目——项目准备——代码抽取
    新闻项目——立项准备——框架搭建
    测试总结
    OSI——网络层
    软件测试的方法
    flask中cookie和session介绍
    flask数据库基本操作
    csrf原理和flask的处理流程
    xadmin快速搭建后台管理系统
    orm的聚合索引
  • 原文地址:https://www.cnblogs.com/manastudent/p/16219642.html
Copyright © 2020-2023  润新知