amir20/dozzle
运维与部署轻量级 Web 界面,实时查看 Docker、Swarm 和 K8s 容器日志与资源占用。
项目介绍
Dozzle 是一个用于实时查看容器日志的小型 Web 应用。它直接从容器运行时读取日志,不保存日志文件,因此定位于在线排障,而不是历史日志检索。它支持 Docker 及兼容引擎、Swarm 和 agent 模式,可以作为单个容器运行。
主要功能包括容器名模糊搜索、正则与 SQL 日志搜索、分屏查看多份日志、实时 CPU 和内存统计、多用户认证及反向代理认证、深色模式,以及通过 agent 模式集中监控多台 Docker 主机(功能列表、认证、agent 模式)。如果需要跨长期保留日志做全文离线搜索,README 建议使用 Loggly、Papertrail 或 Kibana(README)。
它适合需要快速在浏览器中查看容器运行情况、又不想搭建 ELK 的开发和运维人员。
快速使用
前提:Docker Engine 19.03 或更新版本(API 1.40+),并能访问其 Unix socket。拉取镜像并挂载 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/ 即可看到运行中的容器及其实时日志。README 中也提供了 Compose 示例(运行 Dozzle)。
使用 Podman 时,先确认远程 socket 已启用(podman info),再把 /run/user/1000/podman/podman.sock 挂载到 /var/run/docker.sock(Podman 说明)。Swarm 用户可以把它作为全局服务运行,README 给出了 docker service create 命令(Swarm 模式)。
配置与使用约束
Dozzle 遵循 12-factor 模式,配置可通过 CLI 参数或环境变量完成,具体变量见支持的变量列表。认证方式可以是基于文件,也可以交给 Authelia 等反向代理处理(认证)。
部署时要注意镜像标签:latest 随每次发布变动,main 是未发布代码。默认镜像基于 FROM scratch 构建,只包含二进制文件,因此容器内没有 shell;需要 shell 的环境应使用 alpine 变体。需要可复现部署时应固定到具体版本号(镜像标签)。
项目通过 Google Analytics 收集匿名的用户配置信息,可用 --no-analytics 参数关闭(分析说明)。许可证为 MIT(LICENSE)。
从源码构建
参与开发需要 Go 1.25+、Node.js、Bun 和 protoc。克隆仓库后依次执行 bun install、go install tool,再执行一次 make generate,然后运行 make dev 并打开 http://localhost:3100。前端使用 Vue,后端使用 Go,保存文件后两端都会自动重载(构建说明)。
HotRepo 点评
Dozzle 于 2026-11-09 进入 GitHub Go 语言日榜第 12 名,当天新增 42 颗 Star,仓库总计约 1.49 万 Star、654 个 Fork。仅从这一天的快照看,它更像是长期稳定受关注的项目,而非短期爆发;以轻量方式实时查看容器日志的定位,也符合团队在容器出问题时快速排查的实际需求。单日数据不足以判断趋势。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。