Docker 如何支持多种日志方案?- 每天5分钟玩转 Docker 容器技术(88)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 将容器日志发送到 STDOUT 和 STDERR 是 Docker 的默认日志行为。实际上,Docker 提供了多种日志机制帮助用户从运行的容器中提取日志信息。这些机制被称作 logging driver。

将容器日志发送到 STDOUT 和 STDERR 是 Docker 的默认日志行为。实际上,Docker 提供了多种日志机制帮助用户从运行的容器中提取日志信息。这些机制被称作 logging driver。 

Docker 的默认 logging driver 是 json-file

# docker info |grep 'Logging Driver'
Logging Driver: json-file

如果容器在启动时没有特别指明,就会使用这个默认的 logging driver。

json-file 会将容器的日志保存在 json 文件中,Docker 负责格式化其内容并输出到 STDOUT 和 STDERR。

我们可以在 Host 的容器目录中找到这个文件,器路径为 /var/lib/docker/containers/<contariner ID>/<contariner ID>-json.log

比如我们可以查看前面 httpd 容器 json 格式的日志文件。

可以看到 5 条日志记录。

除了 json-file,Docker 还支持多种 logging driver。完整列表可访问官方文档 https://docs.docker.com/engine/admin/logging/overview/#supported-logging-drivers


none 是 disable 容器日志功能。

syslog  journald 是 Linux 上的两种日志管理服务。

awslogssplunk  gcplogs 是第三方日志托管服务。

gelf  fluentd 是两种开源的日志管理方案,我们会在后面分别讨论。

容器启动时可以通过 --log-driver 指定使用的 logging driver。如果要设置 Docker 默认的 logging driver,需要修改 Docker daemon 的启动脚本,指定 --log-driver 参数,比如:

ExecStart=/usr/bin/dockerd -H fd:// --log-driver=syslog --log-opt ......

每种 logging driver 都有自己的 --log-opt,使用时请参考官方文档。

下一节我们开始学习 ELK。

书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
持续交付 虚拟化 Docker
Docker 架构解析:理解 Docker 引擎和容器运行时
Docker 架构解析:理解 Docker 引擎和容器运行时
416 1
|
8月前
|
Docker 容器
Docker | Docker技术基础梳理(四) - 深入理解镜像与容器
Docker | Docker技术基础梳理(四) - 深入理解镜像与容器
102 0
|
9月前
|
Kubernetes Cloud Native Linux
容器引擎Docker与Podman解析
最近技术群里有朋友问我,不是说K8S要弃用Docker了吗?还要不要继续学习这块内容?是不是得改行卖白菜了?
227 0
容器引擎Docker与Podman解析
|
10月前
|
存储 网络安全 Docker
Docker查看容器日志
Docker查看容器日志
103 0
|
10月前
|
存储 NoSQL 关系型数据库
【Docker学习笔记 五】深入理解Docker容器数据卷机制
【Docker学习笔记 五】深入理解Docker容器数据卷机制
247 0
|
11月前
|
NoSQL 关系型数据库 MySQL
Docker容器引擎
主要是应用、依赖、函数库、配置一起打包,形成可移植镜像
|
Ubuntu 应用服务中间件 nginx
Docker 容器高级操作[Docker 系列-3]
上篇文章向读者介绍了一个 Nginx 的例子,对于 Nginx 这样一个容器而言,当它启动成功后,我们不可避免的需要对 Nginx 进行的配置进行修改,那么这个修改要如何完成呢?且看下文。 本文是本系列第三篇,阅读前面文章有助于更好理解本文:
Docker 容器高级操作[Docker 系列-3]
|
Docker 容器
查看docker容器日志
查看docker容器日志
173 0
|
存储 Ubuntu 小程序
Docker容器实战(七) - Docker存储隔离原理?(上)
Docker容器实战(七) - Docker存储隔离原理?(上)
174 0
Docker容器实战(七) - Docker存储隔离原理?(上)
|
存储 Ubuntu Linux
Docker容器实战(七) - Docker存储隔离原理?(下)
Docker容器实战(七) - Docker存储隔离原理?(下)
237 0