docker容器日志管理(清理)
前言
在使用docker容器时候,其日志的管理是我们不得不考虑的事情。因为docker容器的日志文件会占据大量的磁盘空间。下面介绍的就是对docker容器日志的管理。
docker容器日志清理
docker容器的日志一般存放在/var/lib/docker/containers/下的container_id下,以json.log为结尾。
(每个容器会生成一个对应的container_id)

【1】查看所有docker容器日志的大小
find /var/lib/docker/containers/ -name *-json.log |xargs du -sh
- 1

【2】清理Docker容器日志
docker容器运行时,使用rm的方式删除日志文件,是无用的,磁盘空间仍会被占用。
因为在Linux中,使用rm删除文件,只是从文件系统的目录结构上解除链接。如果有一个进程正在使用这个文件,进程将仍然可以读取该文件,磁盘空间也会一直被占用。
可以像处理tomcat的日志的方式对容器日志进行清空或切割。
<1>docker容器日志清理脚本(清理所有docker容器的日志)
clean_dockerlog.sh
#!/bin/sh
logs=`find /var/lib/docker/containers/ -name *-json.log`
for docker_log in $logs
do
echo " " > $docker_log
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
<2>docker容器日志切割脚本(切割所有docker容器日志)
qie_dockerlog.sh
#!/bin/bash
logs=`find /var/lib/docker/containers/ -name *-json.log`
for docker_log in $logs
do
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cp $docker_log $docker_log/../`dockerlogs.$y_$m_$d`
echo " " > $docker_log
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
chmod +x /root/qie_dockerlog.sh
可以将脚本放入计划任务中,定期执行。
crontab -e
* * 3 * * /bin/bash /root/qie_dockerlog.sh
- 1
- 2
- 3
- 4
后记
实际上,对docker容器的日志及其他的管理,我们也可以使用docker compose来实现。它的优点是可以通过一个配置文件来管理多个Docker容器。这个由于内容比较多,就先放到以后再介绍了。
docker容器日志管理(清理)的更多相关文章
- docker容器日志管理
docker容器日志分为两类:docker引擎日志(Docker本身运行的日志)和容器日志(各个容器内产生的日志) 一.Docker引擎日志: Centos系统下的docker引擎日志一般给syste ...
- Docker容器日志管理最佳实践
目录 一 .Docker 引擎日志 二.容器日志 2.1.常用查看日志命令--docker logs 2.2 .Docker 日志 驱动 三. 生产环境中该如何储存容器中的日志 一.当是完全是标准输出 ...
- Docker 容器日志管理
Docker 日志分为两类: Docker 引擎日志(也就是 dockerd 运行时的日志), 容器的日志,容器内的服务产生的日志. 一 .Docker 引擎日志 Docker 引擎日志一般是交给了 ...
- docker容器日志清理
1.先查看磁盘空间 df -h 2.找到容器的containerId-json.log文件,并清理(治标不治本,log迟早还会大的) 查看各个容器的log文件大小 find /var/lib/dock ...
- Docker容器日志查看与清理(亲测有效)
https://blog.csdn.net/yjk13703623757/article/details/80283729 1. 问题 docker容器日志导致主机磁盘空间满了.docker logs ...
- Docker容器日志查看与清理的方法
Docker容器日志查看与清理的方法 Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器 ...
- Docker容器日志清理方案
Docker容器在运行过程中会产生很多日志,久而久之,磁盘空间就被占满了,以下分享docker容器日志清理的几种方法 删除日志 在linux上,容器日志一般存放在 /var/lib/docker/co ...
- Docker 容器日志分析
查看容器日志 先使用 docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器.如果没有异常,会得到容器ID如 d2408 ...
- docker 容器日志集中 ELK + filebeat
docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...
随机推荐
- UOJ46. 【清华集训2014】玄学 [线段树,二进制分组]
UOJ 思路 模拟赛出了这题,结果我没学过二进制分组--一波主席树然后空间就爆炸了-- 用线段树维护时间序列,每个节点维护\(a_i\to x_i\times a_i+b_i,i\in [1,n]\) ...
- 数据结构实验之排序四:寻找大富翁(SDUT 3401)
#include <stdio.h> #include <stdlib.h> #include <string.h> void Swap(int a[], int ...
- Go内置函数
append go语言中的append函数作用是在切片变量的后面追加新的数据,然后返回新的切片变量 func append(slice []Type, elems ...Type) []type sl ...
- 从浏览器输入url到显示页面的过程 (前端面试题)
域名DNS解析,解析到真正的IP地址 | 客户端与服务端建立TCP连接,3次握手 | 客户端发送Http请求 | server接收到http请求,处理,并返回 | 客户端接收到 ...
- odoo开发笔记 -- 模型(类)继承的几种机制
1. 类继承 2. 原型继承 3. 委托继承 待完善 https://www.cnblogs.com/chenshuquan/p/10523626.html
- 深入理解Flink ---- 系统内部消息传递的exactly once语义
At Most once,At Least once和Exactly once 在分布式系统中,组成系统的各个计算机是独立的.这些计算机有可能fail. 一个sender发送一条message到rec ...
- 转 Shell判断字符串包含关系的几种方法
https://blog.csdn.net/rznice/article/details/71086839 Shell中判断字符串包含关系的方法: 1.通过grep来判断:12str1="a ...
- C#对泛型实例化对像的方法
最近在搞一个小东东,用到了泛型的处理,用到了对泛型的实例化问题.下面来讲讲对泛型的实例化,以代码为例,如: public class A { } public class B<T> { p ...
- [LeetCode] 288.Unique Word Abbreviation 独特的单词缩写
An abbreviation of a word follows the form <first letter><number><last letter>. Be ...
- VS2019/VS2017怎么更改visual studio新建项目的默认路径
1.点击“工具” 2.选择“选项” 3.点击左边的“项目和解决方案”展开选择“常规” 4.在右边- ”项目位置“来自定义默认路径 5.“确定”保存后下次新建项目就是此默认路径

