Dozzle是一款轻量、简单的容器日志查看工具。
项目地址:https://dozzle.dev/
写在前面
这款工具相比较一些重量级的工具,比如 ELK 系列而言,实在是太轻量了,容器版本不过 10MB 左右大小。
主要原因是,它不存储和处理日志,仅仅提供实时查看功能,类似我们日常使用 ps、top 一样,使用它可以减少我们在服务器上低效执行 docker logs 或者 docker-compose logs 等类似命令的执行。
一般场景
一般场景下,启动它,提供一个我们可以访问的端口,和其他多数优秀的开源项目一样简单,只需要一条简单的命令:
docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock:ro -p 8888:8080 amir20/dozzle:latest
这里和官方文档不同的是,在挂载 docker.sock 的时候,因为我们并不需要去操作该文件,所以建议加上 ro 只读的限制,避免出现一些我们不希望出现的意外情况,尤其是使用 latest 版本的时候。当然,实际使用中还是建议锁定镜像版本,并认真审查项目相关源码。
当然,考虑到可维护性,我们可以把它写成 compose 配置文件:
version: "3"
services:
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8888:8080
将上面的内容保存为 docker-compose.yml ,使用 docker-compose up 启动程序;或者前文提到的 docker run 命令之后,我们便可以通过浏览器访问 localhost:8888 来查看当前相同机器(容器网卡)内的容器的实时日志,以及已停止容器的历史运行日志了。
因为容器的盛行,许多时候我们需要同时查阅多个服务的日志状态,Dozzle 支持“分屏”查看,还是很方便的。
当然,还有常用的关键词搜索过滤、文本高亮。