工具部署|Dozzle|Docker · 一键自托管

排查容器问题时,常要 docker logs -f 盯着终端刷日志,多开几个容器就眼花。想用浏览器实时看日志、顺带瞥一眼 CPU/内存,可以用开源项目 Dozzle(MIT):挂上 Docker socket,一行命令就能在本机跑起轻量日志面板。

协议为 MIT,个人与团队自用都清晰。镜像体积小、无复杂依赖,适合笔记本、家里 NAS 或内网跳板机常开,当作运维排障小助手。

你将得到什么

  • 浏览器里的实时容器日志流(支持搜索/正则过滤)
  • 容器列表与 CPU、内存、网络等占用一览
  • 只监听 127.0.0.1,不直接暴露公网

环境要求

  • 已安装 Docker 的 Linux / macOS / Windows
  • 能访问宿主机 /var/run/docker.sock(只读挂载即可)
  • 内存占用很小(演示环境约十几 MB 级)

官方仓库:github.com/amir20/dozzle。本文实机镜像为 amir20/dozzle:latest。

第一步:Docker 启动

只绑定本机端口,并把 Docker socket 挂进容器(Dozzle 靠它枚举容器与读日志):

docker run -d \
  --name dozzle \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v dozzle_data:/data \
  -p 127.0.0.1:8888:8080 \
  --restart unless-stopped \
  amir20/dozzle:latest

浏览器打开 http://127.0.0.1:8888。若出现设置向导,可点「稍后完成」先看主界面;默认无需登录。首页会列出本机主机与运行中的容器,以及 CPU/内存摘要。

启动后的主界面类似这样:

Dozzle 主界面:主机与容器列表
主界面:左侧运行中容器,右侧主机资源与容器表(CPU/内存/网络)

第二步:点进容器看实时日志

在列表或侧栏点某个容器名,即可进入该容器的日志流。顶部会显示实时 NET/CPU/MEM,日志按时间滚动;适合对照刚改的配置或刚触发的请求。

Dozzle 容器实时日志流
容器详情:实时日志与资源占用同屏,排障时不必来回切终端

第三步:搜索/过滤日志

日志刷得快时,用界面上的查找框输入关键字或正则,可只保留匹配行(匹配处会高亮)。排错「启动失败」「端口占用」这类关键词时很省事。

Dozzle 日志搜索与高亮
日志过滤:输入关键字后即时过滤,匹配片段高亮显示

第四步:主机与资源一览

回到首页还能看到宿主机的 CPU/内存摘要,以及各容器占用对比。演示环境只有一个容器时,页面同样能说明「谁在跑、占多少」——多容器机器上这个总览更有用。

Dozzle 主机与容器资源统计
主机卡片 + 容器表:一眼看到磁盘可回收空间与各容器资源

安全与运维建议

  • 不要把 8888 直接映射到 0.0.0.0。教程用的是 127.0.0.1:8888;远程用时走 SSH 隧道:ssh -L 8888:127.0.0.1:8888 user@你的机器。
  • docker.sock 权限风险:挂载 socket 近似于把 Docker 控制权交给该容器。只在可信主机运行;生产环境务必配合认证(Dozzle 支持简单用户名密码等,见官方文档),并考虑只读挂载、网络隔离与反向代理。
  • 演示用完可删:docker rm -f dozzle && docker volume rm dozzle_data。
  • 升级:docker pull amir20/dozzle:latest 后重建同名容器。

小结

Dozzle 适合把「盯日志 + 瞥一眼资源」收拢到浏览器:开源 MIT、Docker 几乎零负担、界面清爽。本机排障、家里实验室或内网跳板机,一行命令就能用上。

项目地址:https://github.com/amir20/dozzle

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容