Dozzle:1.3万星的Docker日志实时监控工具
Dozzle:1.3万星的Docker日志实时监控工具
Dozzle 在 GitHub 上收获了 1.3 万 Star,是一个轻量级的 Docker 日志实时查看工具。它不存储任何日志文件,只做实时日志流的展示,这个定位让它保持了极小的体积和资源占用。

日常开发中查看容器日志,通常就是在终端里敲 docker logs 命令。这种方式在容器数量少的时候够用,一旦服务多了,在不同容器之间来回切换就会很麻烦。Dozzle 解决的就是这个痛点:在浏览器里统一查看所有容器的日志,有搜索、有分屏、有实时统计。
Dozzle 镜像压缩后只有 7 MB,内存占用低,适合在开发环境或小型 VPS 上长期运行。作者提到测试过数百个容器的场景,运行稳定。不过 Dozzle 不支持离线搜索,如果需要全文检索能力,Loggly、Papertrail 或 Kibana 这类产品更适合。
主要功能覆盖日常日志查看的多种需求:
- 智能模糊搜索容器名称,快速定位目标容器
- 支持正则表达式搜索日志内容
- 支持 SQL 语法查询日志,对结构化分析场景提供了更多灵活性
- 分屏模式,同时查看多个容器日志,不用来回切换
- 实时显示 CPU 和内存用量统计
- 多用户认证,支持前置代理授权
- 深色模式

快速上手
拉取并运行容器,唯一的前提是挂载 Docker Unix socket:
docker pull amir20/dozzle:latest
docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -v dozzle_data:/data -p 8080:8080 amir20/dozzle:latest
启动后访问 http://localhost:8080 就能看到界面。Docker Compose 部署同样简单,volumes 配置和端口映射加起来不到十行。如果需要持久化配置(比如用户账号),挂载 /data 目录即可。
Swarm 和 Agent 模式
Dozzle 支持 Docker Swarm 集群。Swarm 模式下作为 global service 部署,覆盖集群全部节点:
docker service create --name dozzle --env DOZZLE_MODE=swarm --mode global --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest
Agent 模式面向多主机场景,每台机器以 agent 模式运行 Dozzle(端口 7007),由中心实例统一汇总各主机的日志流,适合管理分散在多台物理机或虚拟机上的容器。
Podman 兼容
Dozzle 兼容 Podman 和 Colima。Podman 默认没有守护进程,需要先启用 remote socket,之后运行命令与 Docker 基本一致。额外的一步是:Podman 不生成 engine-id,需要在 /var/lib/docker 目录下创建包含 UUID 的 engine-id 文件,否则会报 host not found 错误。
技术栈与安全
Dozzle 的后端用 Go 编写,通过 Docker API 与守护进程通信,前端用 Vue 构建,要求 Docker Engine 19.03 及以上版本。安全方面支持基于文件的用户认证和前置代理认证,可配合 Authelia 等工具接入现有认证体系。项目通过 Google Analytics 收集匿名配置数据辅助功能决策,数据在 Data Studio 公开,可通过 --no-analytics 参数关闭。

浙公网安备 33010602011771号