CKA [Logging] – 了解docker logging drivers

🧩 前提回顾:stdout / stderr 是容器的输出来源

  • 在 Linux 中,每个进程有 stdin / stdout / stderr 三个标准流。
  • 在 Docker 中,容器的 stdout / stderr 会被 Docker Engine 捕获

所以 Docker 的“日志系统”其实就是:
捕获容器的 stdout / stderr → 交给 logging driver 处理。

⚙️ 什么是 Docker Logging Driver?

Logging driver 是 Docker 的一个“日志处理插件系统”。
它决定了 容器输出(stdout/stderr) 要被保存到哪里、怎么保存。

也就是说:

stdout / stderr由 logging driver 决定最终去哪里

✅ 实际操作

1. 我们一开始就是在backend run 一个mybusybox名的busybox,然后运行ping google.com

docker container run -d --name mybusybox busybox ping google.com

2. 执行了之后,我们查看ps 会看到使用的command , 这是stdin

docker ps

3. 我们可以查看container的log , 这是stdout

docker logs mybusybox

4. 从docker info 当中我们可以有多种driver的选择 , 可以决定把log 集中存在什么地方,比如splunk 或awslog 等等。

docker info

5. 我们可以查看container的详情, 默认的log driver 是使用json-file也就是存在本地, 而LogPath就是log存在本地的位置

docker inspect mybusybox

Loading

Facebook评论