Docker目录/var/lib/docker/containers文件太大
Docker在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加,本篇来了解一些控制日志文件的方法。
查出占用磁盘较大的文件
Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文件夹根据升序的方式罗列出来。
# du -d1 -h /var/lib/docker/containers | sort -h
清理单个文件
sh -c "cat /dev/null > ${log_file}"
${log_file} 就是日志文件
# 可以通过find命令查找全部日志
find /var/lib/docker/containers -name *.log
控制容器日志大小
以上只是临时解决的方式,最好是创建容器时就控制日志的大小.
运行时控制
启动容器时,我们可以通过参数来控制日志的文件个数和单个文件的大小
# max-size 最大数值
# max-file 最大日志数
$ docker run -it --log-opt max-size=10m --log-opt max-file=3 redis
一两个容器还好,但是如果有很多容器需要管理,这样就很不方便了,最好还是可以统一管理。
全局配置
创建或修改文件 /etc/docker/daemon.json,并增加以下配置
{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"50m",
        "max-file":"1"
    }
}
随后重启 Docker 服务
systemctl daemon-reload
systemctl restart docker
不过已存在的容器不会生效,需要重建才可以
Docker目录/var/lib/docker/containers文件太大的更多相关文章
- docker的/var/lib/docker/overlay文件夹突然占满了硬盘
		
场景描述 事情是这样的,前两天客户的服务器突然断电了,导致用docker部署的服务也挂了.昨天去现场,重启了docker,同时准备更新一下服务.结果发现有一台节点硬盘满了- 还是觉得有些奇怪的,毕竟d ...
 - Docker commit 命令保存的镜像文件太大的问题
		
基础镜像: centos7.5 进入容器后, 先后安装了 jdk1.8, maven3.6.0, git, rocketmq4.3.2 安装完成后使用 docker commit 命令保存为镜像 结果 ...
 - 将/home空间从新挂载到/var/lib/docker
		
[lxl@node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 49G 34G 15G ...
 - docker log 批量删除报错: find: `/var/lib/docker/containers/': 没有那个文件或目录
		
问题描述: 服务器上面docker log太多,打算用之前写的批量清理shell脚本清理掉,但是发现报错. find: `/var/lib/docker/containers/': 没有那个文件或目录 ...
 - docker /var/lib/docker/aufs/mnt 目录满了怎么清理
		
1.创建脚本文件 vi cleandocker.sh 内容如下: #!/bin/sh echo "==================== start clean docker contai ...
 - 【Docker】docker /var/lib/docker/aufs/mnt 目录满了,全是垃圾数据,咋搞?
		
命令: #!/bin/bash # 推荐方式 docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume ...
 - docker /var/lib/docker/aufs/mnt 目录满了,全是垃圾数据
		
#!/bin/sh echo "==================== start clean docker containers logs ======================= ...
 - failed to create rwlayer: lstat /var/lib/docker/overlay2/ no such file or directory
		
在使用Docker构建微服务镜像时出现的错误.第一天构建好好的,第二天就出现了这样的错误.通过百度这条错误的信息非常少,只在 stackoverflow.com 上找到一条,问题指向了 dockerf ...
 - docker启动报错解决及分析(Cannot create container for service *******: cannot mount volume over existing file, file exists /var/lib/docker/overlay2/)
		
现象: Cannot create container for service *******: cannot mount volume over existing file, file exists ...
 
随机推荐
- 看起来是线程池的BUG,但是我认为是源码设计不合理。
			
你好呀,我是歪歪. 前几天看到一个 JDK 线程池的 BUG,我去了解了一下,摸清楚了它的症结所在之后,我觉得这个 BUG 是属于一种线程池方法设计不合理的地方,而且官方在知道这个 BUG 之后表示: ...
 - Ubuntu安装python各版本
			
编译安装的话,之前遇到过很多小问题,感觉还是通过添加这个ppa方式装的比较稳,缺点是可能安装的比较慢,可配合proxychain4 sudo apt install software-properti ...
 - java通过注解顺序通过映射导出excel
			
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.ann ...
 - 【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)
			
文章有点长,耐心看完应该可以懂实际原理到底是啥子. 这是一个KV数据库的C#实现,目前用.NET 6.0实现的,目前算是属于雏形,骨架都已经完备,毕竟刚完工不到一星期. 当然,这个其实也算是NoSQL ...
 - Clickhouse 实现 MaterializedPostgreSQL
			
Clickhouse 实现 MaterializedPostgreSQL 开发环境:macOS 12.4 + docker 一.环境搭建 docker-compose.yml services: po ...
 - 1000-ms-maven相关问题
			
一.Maven有哪些优点和缺点 优点如下: 简化了项目依赖管理: 易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作 便于与持续集成工具(jen ...
 - 面试突击71:GET 和 POST 有什么区别?
			
GET 和 POST 是 HTTP 请求中最常用的两种请求方法,在日常开发的 RESTful 接口中,都能看到它们的身影.而它们之间的区别,也是一道常见且经典的面试题,所以我们本文就来详细的聊聊. H ...
 - Java基础 | Stream流原理与用法总结
			
Stream简化元素计算: 一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream: ...
 - 项目一共30个模块,你叫我maven版本一个个手动改?
			
大家好呀,我是铂赛东,一个乱入公众号博主的开源作者.今天分享一个maven小技巧,希望帮助到大家. 之前有个群友私聊问我,如何快速统一去更改项目中所有的maven版本号,他说之前都是手动一个个去修改, ...
 - ASP.NET CORE在docker中的健康检查(healthcheck)
			
在使用docker-compose的过程中,很多程序都提供了健康检查(healthcheck)的方法,通过健康检查,应用程序能够在确保其依赖的程序都已经启动的前提下启动,减少各种错误的发生,同时,合理 ...