Dozzle 实时日志查看器:Docker 部署一站式容器日志监控

1369 字
7 分钟
Dozzle 实时日志查看器:Docker 部署一站式容器日志监控

痛点:当你的容器超过 5 个以后#

管理 Docker 容器最烦人的问题不是部署,而是排障时翻日志

一开始还好,docker logs -f container_name 凑合用。但当你跑起 Gitea、Navidrome、Caddy、frp、Headscale……十几二十个容器后,场景变成这样:

  • SSH 连上服务器 → 开四五个终端窗口
  • 每个窗口跑一个 docker logs -f
  • 出问题时不知道哪个容器在报错
  • 想翻历史日志?docker logs --tail 1000 → 刷屏到眼花

更糟的是:没有搜索、没有过滤、没有时间线。 纯靠肉眼在一堆 ANSI 颜色字符里找错误。

Dozzle 就是来解决这个问题的。


什么是 Dozzle?#

Dozzle 界面截图
Dozzle 界面截图

Dozzle 是一个实时 Docker 日志查看器,用 Go + Svelte 编写,MIT 协议。核心卖点就三句话:

轻量、实时、浏览器里看所有容器的日志。

截至 2026 年 6 月,Dozzle 拥有 13.4k GitHub Stars,每月都有更新,社区活跃度极高。

Dozzle vs 传统日志查看方式#

特性Dozzledocker logsPortainerLoki + Grafana
部署复杂度1 行命令内置中等
Docker 镜像大小7MB内置~150MBLoki ~200MB
实时日志✅ WebSocket✅ 终端延迟 30~60s
Web 界面❌ 需终端
多容器集中查看❌ 一个窗口一个
日志搜索过滤❌ grep 手动✅ LogQL
暗色/亮色主题
多主机监控✅ Pro
历史日志持久化❌ 仅实时✅ 看宿主机
内存占用~15MB0 (系统进程)~200MB~500MB+

Dozzle 的定位非常明确:它不是 Loki 那样的日志中心,而是给日常排障用的实时日志仪表盘。你不需要学 LogQL、不需要搭 Elastic Stack,打开浏览器就能看到所有容器在打印什么。


Docker 部署 Dozzle#

环境要求#

  • Docker Engine ≥ 20.10
  • 需要访问 Docker Socket(/var/run/docker.sock
  • 任意 Linux 服务器,512MB 内存绰绰有余

快速部署#

最简部署方式——单行命令:

Terminal window
docker run -d \
--name dozzle \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
amir20/dozzle:latest

打开 http://你的IP:8080,自动显示所有容器的日志流。

用 Docker Compose 部署(推荐)#

version: '3.8'
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
ports:
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped

启动:

Terminal window
docker compose up -d

配置 HTTPS 访问#

用 Caddy 反代:

logs.yourdomain.com {
reverse_proxy 127.0.0.1:8080
}

用 Nginx Proxy Manager:

  1. 添加 Proxy Host → logs.yourdomain.com
  2. 转发到 127.0.0.1:8080
  3. 开启 SSL 证书

进阶配置#

1. 限制可访问的容器#

默认 Dozzle 显示所有运行中的容器。如果想限制只显示某些容器,用 --filter 参数:

services:
dozzle:
image: amir20/dozzle:latest
command: --filter name=gitea --filter name=navidrome --filter name=caddy
# 其他配置不变

2. 设置用户名密码(Dozzle Pro)#

Dozzle Pro 提供付费的身份验证功能。基本用法:

services:
dozzle:
image: amir20/dozzle:latest
environment:
- DOZZLE_AUTH_USERNAME=admin
- DOZZLE_AUTH_PASSWORD=your_secure_password
volumes:
- /var/run/docker.sock:/var/run/docker.sock

3. 配置自动刷新间隔#

services:
dozzle:
image: amir20/dozzle:latest
command: --interval 500
# 默认 300ms,改为 500ms 减少 CPU 开销

4. 配合反向代理的基础认证#

用 Caddy 自带的 basicauth:

logs.yourdomain.com {
basicauth {
admin $2a$14$xxxxxx # 用 caddy hash-password 生成
}
reverse_proxy 127.0.0.1:8080
}

日常使用技巧#

快速排障流程#

  1. 打开 Dozzle 的 Web 界面
  2. 选择疑似出问题的容器
  3. 在搜索框输入 error / panic / exception / failed
  4. 时间戳旁边直接跳转到出错时刻

多窗口对比#

用浏览器的多个标签页打开 Dozzle,每个标签页看不同容器的日志流,排障效率翻倍。

手机端查看#

Dozzle 的 Web 界面响应式适配,手机浏览器也能用。在 Caddy/NPM 上配好 HTTPS,出门在外也能随时查看服务状态。


常见问题 FAQ#

Q1: Dozzle 会保存历史日志吗?#

不会。Dozzle 是实时日志查看器,显示的是容器当前的 stdout/stderr 流。要查看历史日志,需要 Docker 的日志驱动配置了持久化(如 json-filejournald),Dozzle 会读取它们。

如果需要长期存储和检索日志,建议搭配 Loki + Grafana 使用。

Q2: Dozzle 占用多少资源?#

实测:展示 15 个容器的日志流时,CPU 占用约 1~3%,内存占用约 15MB。相比 Portainer(~200MB)和 Grafana(~100MB),Dozzle 几乎可以忽略不计。

Q3: 能不能看 swarm 或 k8s 的日志?#

Dozzle 主要面向单机 Docker 环境。Dozzle Pro 提供了多主机支持,但 Kubernetes 不在支持范围内。K8s 环境推荐使用 kubectl logs 或 Loki。

Q4: 和 Portainer 的日志功能比怎么样?#

Portainer 也带日志查看功能,但体验上有明显差距:

对比项DozzlePortainer 日志
实时性WebSocket 近乎零延迟刷新有延迟
搜索即时过滤不支持按关键字搜索
界面性能15 个容器流畅容器多了卡顿
部署侵入性仅需挂载 Docker Socket需要完整 Portainer 栈

Q5: 可以设置日志保留策略吗?#

Dozzle 本身不做日志存储,所以没有保留策略。日志的保留由 Docker 的日志驱动决定:

Terminal window
# 限制每个容器最多保留 100MB 日志,最多 10 个文件
docker run -d --log-opt max-size=10m --log-opt max-file=10 ...

或者在 daemon.json 中全局配置:

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

总结#

Dozzle 是 Docker 日常排障的神器。它不解决「日志归档分析」的问题——那是 Loki 和 ELK 的事——但它完美解决了**「我现在就想看容器在打印什么」**这个日常最高频的需求。

7MB 的镜像大小、一条命令的部署、零配置的界面,让它成为任何 Docker 用户都应该装的工具。如果你的服务器上跑着超过 5 个容器,装一个 Dozzle,排障效率至少翻一倍。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Dozzle 实时日志查看器:Docker 部署一站式容器日志监控
https://www.kshare.top/posts/2026-dozzle-实时日志查看器docker-部署一站式容器日志监控/
作者
Kshare
发布于
2026-06-27
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Kshare
Hello, I'm Kshare.
公告
站点已开启广告(类型:弹窗广告),给您带来的不便敬请谅解。如有更好的广告建议,欢迎发送邮件至 t9uzrz6u@anonaddy.me,感谢您的支持!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
187
分类
9
标签
190
总字数
490,175
运行时长
0
最后活动
0 天前

文章目录