docker容器日志分为两类:docker引擎日志(Docker本身运行的日志)和容器日志(各个容器内产生的日志)

一、Docker引擎日志:

Centos系统下的docker引擎日志一般给systemd管理,可通过journalctl -u docker.service命令查看

二、容器日志

1、可通过docker logs 容器id命令显示当前运行的容器log,输出Linux下的STDOU、STDERR,生产环境中,如果应用输出到我们自己的日志文件里,使用docker logs一般收集步到太多重要信息。

2、docker日志驱动

docker ce版本,docker logs命令仅适用于如下驱动程序:

常用的日志驱动主要有:json-file(默认)、local、syslog、journald、fluentd

1)查看docker日志驱动命令

2)查看指定容器设置的日志驱动命令

3)docker日志驱动全局配置文件为/etc/docker/daemon.json

4)日志驱动:local

local日志驱动记录从容器的STDOUT/STDERR输出,并写到主机磁盘上。默认情况下,local日志驱动为每个容器保留100M的日志信息,并启用压缩来保存

local日志驱动存储于/var/lib/docker/containers/容器id/local-logs目录下,以container.log命名,local驱动支持的选项有:

max-size:切割之前日志的最大容量,可取值为k/m/g,默认20m

max-file:可以存在的最大日志文件个数,如果超过最大值,则会删除旧文件,仅在max-size选项设置时有效。默认为5

compress:对应切割日志文件是否启用压缩,默认启用

配置全局日志驱动为local时,需修改/etc/docker/daemon.json文件:

{
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}

然后重启docker服务即可生效

对于指定容器设置为local驱动时,需在docker run中加--log-driver local选项即可

5)日志驱动json-file:

json-file日志路径/var/lib/docker/containers/容器id/容器id-json.log

json-file日志驱动支持的驱动选项:

max-size:切割之前日志的最大大小。取值单位k/m/g,默认为-1(表示无限制)

max-file:存在的最大日志文件数,仅在max-size设置时有效,默认为1

labels:适用于启动docker守护进程时,此守护进程接受的以逗号分隔的与日志记录相关的标签列表

env:适用于启动docker守护进程时,此守护进程接手的以逗号分隔的与日志记录相关的环境变量列表

env-regex:类似并兼容env。用于匹配与日志记录相关的环境变量的正则表达式。

compress:切割的日志是否进行压缩。默认是disabled

6)日志驱动syslog:

syslog日志驱动将日志路由到syslog服务器,syslog以原始的字符串作为日志消息元数据,接收方可以提取以下消息:

debug、warning、error、info的日志level;timestamp时间戳、hostname事件发生的主机、facility系统模块、进程名和进程id

修改/etc/docker/daemon.json文件配置全局日志驱动为syslog:

{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://1.2.3.4:1111"
}
}

参考文献:https://blog.51cto.com/10874766/2430921

docker容器日志管理的更多相关文章

  1. docker容器日志管理(清理)

    原文:docker容器日志管理(清理) 前言 在使用docker容器时候,其日志的管理是我们不得不考虑的事情.因为docker容器的日志文件会占据大量的磁盘空间.下面介绍的就是对docker容器日志的 ...

  2. Docker容器日志管理最佳实践

    目录 一 .Docker 引擎日志 二.容器日志 2.1.常用查看日志命令--docker logs 2.2 .Docker 日志 驱动 三. 生产环境中该如何储存容器中的日志 一.当是完全是标准输出 ...

  3. Docker 容器日志管理

    Docker 日志分为两类: Docker 引擎日志(也就是 dockerd 运行时的日志), 容器的日志,容器内的服务产生的日志. 一 .Docker 引擎日志 Docker 引擎日志一般是交给了 ...

  4. docker 容器日志集中 ELK + filebeat

    docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...

  5. docker容器日志收集方案汇总评价总结

    docker日志收集方案有太多,下面截图罗列docker官方给的日志收集方案(详细请转docker官方文档).很多方案都不适合我们下面的系列文章没有说. 经过以下5篇博客的叙述简单说下docker容器 ...

  6. docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)

    与方案一一样都是把日志输出到本地文件系统使用filebeat进行扫描采集 不同的是输出的位置是不一样的 我们对docker进行如下设置 sudo docker service update  --lo ...

  7. docker容器日志收集方案(方案一 filebeat+本地日志收集)

    filebeat不用多说就是扫描本地磁盘日志文件,读取文件内容然后远程传输. docker容器日志默认记录方式为 json-file 就是将日志以json格式记录在磁盘上 格式如下: { " ...

  8. Docker 容器日志格式化

    Docker容器的日志文件每一行都是一个json对象,其包含log.stream.time三个属性,下面的HTML从textarea中读取输入的日志信息,格式化为表格显示. <!DOCTYPE ...

  9. 实时查看docker容器日志

    实时查看docker容器日志 $ sudo docker logs -f -t --tail 行数 容器名 例:实时查看docker容器名为s12的最后10行日志 $ sudo docker logs ...

随机推荐

  1. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验三《敏捷开发与XP实践》 实验报告

    实验内容与要求 1.XP基础 极限编程(Extreme Programming,XP)是一种全新而快捷的软件开发方法.XP团队使用现场客户.特殊计划方法和持续测试来提供快速的反馈和全面的交流: XP是 ...

  2. v-bind 绑定属性

    与mustache相区别,他是对内容(content内部)进行修改的.v-bind的语法糖写法是   : v-bind 动态绑定class属性:v-bind:class="对象名" ...

  3. hdoj2594(kmp算法next数组的应用)

    题目链接:https://vjudge.net/problem/HDU-2594 题意:给定两个字符串s1.s2,求s1的前缀和s2的后缀的最长公共部分. 思路: 将s1和s2连接后求nex数组即可, ...

  4. hdoj3336(kmp算法next数组的应用)

    题目链接:https://vjudge.net/problem/HDU-3336 题意:给定长为n(<=2e5)的字符串s,求s的每个前缀在s中出现的次数之和. 思路: 用dp[i]表示以s[i ...

  5. activate-power-mode安装与设置

    Window-->activate-power-mode-->去掉combo/shake,其他三个全勾上,现在用起来就很爽了,赶紧体验吧.

  6. SQL常用语句简单

    数据库脚本 USE [Test] GO /****** Object: Table [dbo].[Class] Script Date: 2017/6/29 13:17:14 ******/ SET ...

  7. 什么是SSH 以及常见的ssh 功能

    什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录.如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露. ...

  8. java 中的容器(札记)

    创建容器向上转型为接口的时候,有时候,并不是一定可行的,因为有的实现类,在接口的基础添加了自己的方法:比如:List 接口下面的 LinkedList 自己定义了一些方法 : Arrays.asLis ...

  9. php类常量

    类常量类常量可以使用define定义,也可用const定义,但是在类的内部,只允许用const定义,类常量不能更新,也不能删除类常量通常是大写的,两个单词之间用下滑线连接,如MY_NATION类常量在 ...

  10. 在VMware Workstation10下CentOS7虚拟机中创建与主机共享文件夹的详细步骤

    一.前言 在使用虚拟机时,常常需要与宿主计算机(以下简称为主机)操作系统交换文件,为此需要在虚拟机与主机之间建立共享文件夹. 二. 安装VMTools 要使用共享文件机制,必须首先安装VMTools. ...