什么是 Dozzle?
Dozzle
是一个小型轻量级应用程序,具有基于Web
的界面来监控Docker
日志。Dozzle
不存储任何日志文件,仅用于实时监控您的容器日志。
先看个官方的动图
老苏已转成了视频,源文件地址:https://github.com/amir20/dozzle/raw/master/.github/demo.gif?raw=true
Dozzle
软件特点
- 容器名称智能模糊搜索🤖
- 使用正则表达式搜索日志🔦
- 内存占用小🏎
- 用于查看多个日志的分屏
- 轻松下载日志
- 内存和 CPU 使用情况的实时统计信息
- 使用用户名和密码进行身份验证🚨
命令行安装
与容器相关的应用,都需要绑定挂载 /var/run/docker.sock
,包括我们之前安装的 portainer
、watchtower
,Glances
,Netdata
、lazydocker
等。
什么是 /var/run/docker.sock
?
/var/run/docker.sock
是Docker API
的主要入口,简单地说,它是Docker
守护进程(Docker daemon
)默认监听的Unix
域套接字(Unix domain socket
),容器中的进程可以通过它与Docker
守护进程进行通信。
图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd
但是群晖的 Docker
管理器并不支持挂载 /var/run/docker.sock
文件,所以这次我们需用命令行来安装
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 运行容器
docker run -d \
--restart unless-stopped \
--name dozzle \
-p 8183:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
amir20/dozzle:latest
docker-compose 安装
将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
dozzle:
image: amir20/dozzle
container_name: dozzle
restart: unless-stopped
ports:
- 8183:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
然后执行下面的命令
# 新建文件夹 dozzle 目录
mkdir -p /volume2/docker/dozzle
# 进入 dozzle 目录
cd /volume2/docker/dozzle
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
更多的设置可以参考官方的说明:https://github.com/amir20/dozzle#environment-variables-and-configuration
运行
在浏览器中输入 http://群晖IP:8183
就能看到主界面
左侧可以选择查看的容器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIWLOgWb-1673397848038)(null)]
默认列出的都是在运行的容器,可以在系统中设置把停止的容器也显示出来
停止的容器是是灰色的
也同样可以获取到日志信息
日志支持下载
Dozzle
定位很清晰,功能不多,但简单好用,是款不错的小工具。
参考文档
amir20/dozzle: Realtime log viewer for docker containers.
地址:https://github.com/amir20/dozzle
Dozzle - Log viewer for Docker
地址:https://dozzle.dev/