docker log driver
| 驱动程序 | 描述 |
|---|---|
| none | 容器没有日志可用,docker logs 什么都不返回 |
| json-file | 日志格式化为 JSON。这是 Docker 默认的日志驱动程序。 |
| syslog | 将日志消息写入 syslog 工具。syslog 守护程序必须在主机上运行。 |
| journald | 将日志消息写入 journald。journald 守护程序必须在主机上运行。 |
| gelf | 将日志消息写入 Graylog Extended Log Format (GELF) 终端,例如 Graylog 或 Logstash。 |
| fluentd | 将日志消息写入 fluentd(forward input)。fluentd 守护程序必须在主机上运行。 |
| awslogs | 将日志消息写入 Amazon CloudWatch Logs。 |
| splunk | Writes log messages to splunk using the HTTP Event Collector. |
| etwlogs | 将日志消息写为 Windows 的 Event Tracing 事件。仅在Windows平台上可用。 |
| gcplogs | 将日志消息写入 Google Cloud Platform (GCP) Logging。 |
| logentries | 将日志消息写入 Rapid7 Logentries。 |
修改默认驱动,vi /etc/sysconfig/docker
将journald修改为json-file
OPTIONS='--selinux-enabled=false --log-driver=json-file --signature-verification=false'
如何找出docker容器日志文件
容器日志一般存放在/var/lib/docker下面,可使用如下命令查看各个日志的文件大小
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
如何清理日志
如果docker容器正在运行,那么使用rm -rf 方式删除日志后,通过df -h会发现磁盘空间并没有释放
原因:在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用
正确姿势是cat /dev/null > *-json.log,当然你也可以通过rm删除后重启docker
清理脚本:
#!/bin/sh
echo "==================== start clean docker containers logs ==========================" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done echo "==================== end clean docker containers logs =========================="
docker log driver的更多相关文章
- Openshift 错误解决 "修改docker cgroup driver"
一.Openshift 错误解决 "修改docker cgroup driver" 一.错误如下 failed to run Kubelet: failed to create k ...
- docker log directory
Ubuntu - /var/log/upstart/docker.log Boot2Docker - /var/log/docker.log Debian GNU/Linux - /var/log/d ...
- docker log 文件 清理
1 查看docker log 文件位置 docker inspect *** 2 定时清理 runcate -s 0 /var/lib/docker/containers/*/*-json.log
- docker storage driver
docker默认有2种方式用于持久化数据,volumes和bind mounts,也可以使用tmpfs,其中使用volume是持久化数据的最好方式,volume由docker控制管理,使用docker ...
- 查找docker log久远数据方法
问题描述: 同事发现几天前运行的一个文件id存在错误,需要查看docker log,但是使用docker logs -f container_id 上下翻很耗费时间. 解决思路: 每条对应的log都会 ...
- docker log 批量删除报错: find: `/var/lib/docker/containers/': 没有那个文件或目录
问题描述: 服务器上面docker log太多,打算用之前写的批量清理shell脚本清理掉,但是发现报错. find: `/var/lib/docker/containers/': 没有那个文件或目录 ...
- Docker storage driver(十四)
目录 一.storage driver 作用 1.Images and layers 2.Container and layers Copy-on-Write 3.Data volumes and t ...
- Warning:detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".
执行kubeadm init集群初始化时遇到: [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker ...
- 【kubeadm初始化报错】failed to run Kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
复现场景 环境 系统:Centos7 kubernetes:1.18.5 docker:19.03.9 复现步骤 1.通过 yum 或 rpm 安装 kubelet kubectl kubeadm,并 ...
随机推荐
- udp重发
最近在处理框架通讯方面的问题,通过积累的开发经验,其实在很多情况(尤其是实时大数据量),udp是占有很多优势的:不需要连接,只管发送,理论上要快很多; 另外在穿墙上占有很大优势: 但是最大的一个问题就 ...
- JPA相关知识
这篇文章是摘自Patrick Linskey的一篇文章,主要是关于JPA相关内容的问答,相信JPA面试会碰到很多这里面的问题 问题:EJB专家团队是如何摆脱事务描述符的? 回答:在会话bean和消息驱 ...
- sql语句case when 以及left()
select count(CASE jyje WHEN '1300' THEN '2' ELSE '1' END) as count from tpent_orders where cplx = 6 ...
- 【HDFS API编程】查看文件块信息
现在我们把文件都存在HDFS文件系统之上,现在有一个jdk.zip文件存储在上面,我们想知道这个文件在哪些节点之上?切成了几个块?每个块的大小是怎么样?先上测试类代码: /** * 查看文件块信息 * ...
- 关于python的多行注释,启动新浏览器,循环语句乘法口诀
1,提问:如何将python写的多行代码改写成注释,进行写下一段代码?这样可以在多个脚本中写东西? 回答:百度了一下,还真有 选中所要注释的代码 CTRL + / 然后所选的代码前面都会出现#,编程 ...
- WIN下的Django安装
转自https://www.cnblogs.com/lfxiao/p/7510002.html
- python大法好——操作mysql
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
- java枚举变量反解析用法
最近常常有一些项目需要给枚举设值一个int值,以及对int值进行反解析出枚举类型,代码如下: public enum MatchResultEnum { /** * 赢 */ WIN(0), /** ...
- PHP SoapClient 调用与鉴权,以及对Java和C# 的webservice的兼容处理
SoapClient使用注意事项: 第一要加上 cache_wsdl参数,以防服务器调用的是缓存的wsdl文件 然后是参数传递,如果是使用PHP自己写的WebService,参数传递按正常方式即可 1 ...
- c++ 使用模板按类型统计stl多维容器中元素的数量
struct ItemCounter{template<typename T1, typename T2, typename = typename std::enable_if<!std: ...