深入理解Dozzle:轻量级Docker日志查看工具

server/2024/12/23 13:00:40/

深入理解 Dozzle:轻量级 Docker 日志查看工具

Dozzle 是一个简易、轻量级的实时日志监控工具,它让用户能够在网页界面上监控 Docker 容器的输出,非常适合在不依赖复杂日志基础设施的场景下快速进行日志监控。本文将带您了解如何使用 Dozzle,并探讨一些实用的技巧。

Dozzle 的安装与启动

安装 Dozzle

最简单的安装方法是通过 Docker 运行:

docker run -d --name=dozzle --volume=/var/run/docker.sock:/var/run/docker.sock --publish=8080:8080 amir20/dozzle

这行命令会下载最新版 Dozzle 镜像,并在 Docker 中创建名为 dozzle 的容器。其中:

  • --volume=/var/run/docker.sock:/var/run/docker.sock 表示挂载 Docker 主机的 socket 文件,允许 Dozzle 访问 Docker 守护进程。
  • --publish=8080:8080 表示将容器内的 8080 端口映射到宿主机的同一端口,使您可以通过浏览器访问 Dozzle。

启动 Dozzle

如果您使用的是上面的安装命令,Dozzle 已经以守护进程运行。您可以直接通过访问 http://<docker-host-ip>:8080 来使用 Dozzle。

基本使用

登录到 Dozzle 的界面后,您将看到左侧的侧边栏列出了所有正在运行的 Docker 容器。点击任何一个容器,就可以看到该容器的实时标准输出。

过滤日志

Dozzle 允许使用简单的字符串或正则表达式来过滤日志。比如,您想过滤出所有包含“ERROR”的日志:

ERROR

或者更复杂的正则匹配:

/^ERROR.+Database Connection Failed/

自定义配置

Dozzle 在启动时可以通过环境变量来设置一些配置选项。例如,您可以设置 Dozzle 的基本认证:

docker run -d \--name=dozzle \--volume=/var/run/docker.sock:/var/run/docker.sock \--publish=8080:8080 \-e DOZZLE_AUTH_USERNAME=admin \-e DOZZLE_AUTH_PASSWORD=verysecret \amir20/dozzle

高级技巧

使用 Dozzle API

Dozzle 同时提供了 RESTful API,允许您编写脚本来查询或管理日志。举个例子,以下是如何使用 curl 工具来获取特定容器的最新日志:

curl http://<docker-host-ip>:8080/api/logs/<container-id>

日志持久化

虽然 Dozzle 本身不直接支持日志的持久化存储,但您可以通过将容器的日志输出重定向到挂载的卷或文件来实现日志的保存。

docker run --name=myapp --detach --volume=myapp-logs:/var/log/myapp my-image

结语

Dozzle 提供了一个简单高效的方式来实时监控 Docker 容器日志。它安装简便、功能直观、界面友好,非常适合于开发和小规模生产环境。希望这篇文章能帮助您快速上手 Dozzle,并透过提供的技巧,充分发挥它的潜力。记得探索更多 Dozzle 提供的功能,它可能会成为您日常工作中的好帮手。


在这里插入图片描述


http://www.ppmy.cn/server/41626.html

相关文章

曲线救国:window 安装 docker

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

c++ 读写锁的理解

1.概要 读写锁的理解 读的时候&#xff0c;只要是读的线程都不受限制&#xff0c;但不能写。 写的时候&#xff0c;线程独占&#xff0c;任何写和读的线程都不可以。 最初我以为&#xff0c;只有限制写就可以了&#xff0c;读完全不受现在&#xff0c;但是有可能读到不完整的…

Java 程序员必备的 15 个框架集

Java 程序员方向太多&#xff0c;且不说移动开发、大数据、区块链、人工智能这些&#xff0c;大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢&#xff1f; d8f18202405131220599753.png 1.Spring 毫无疑问&#xff0c;Spri…

Java的类和对象(一)—— 初始类和对象,this关键字,构造方法

前言 从这篇文章开始&#xff0c;我们就进入到了JavaSE的核心部分。这篇文章是Java类和对象的第一篇&#xff0c;主要介绍类和对象的概念&#xff0c;this关键字以及构造方法~~ 什么是类&#xff1f;什么是对象&#xff1f; 学过C语言的老铁们&#xff0c;可以类比struct自定义…

MYSQL:MySQL 事务隔离级别详解

一、MySQL事务是什么&#xff1f; MySQL事务是一组在数据库中执行的操作&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部不执行&#xff0c;以确保数据库的完整性和一致性。 事务的 ACID 事务具有四个特征&#xff1a;原子性&#xff08; Atomicity &#xff09;、…

图片公式识别@文档公式识别@表格识别@在线和离线OCR工具

文章目录 abstract普通文字识别本地软件识别公式扩展插件下载小结 在线识别网站/API&#x1f47a;Quicker整合(推荐)可视化编辑和识别公式其他多模态大模型识别图片中的公式排版 开源模型 abstract 本文介绍免费图片文本识别(OCR)工具,包括普通文字识别,公式识别,甚至是手写公…

机器学习-12-sklearn案例02-集成学习

总结 参考 菜菜的sklearn课堂——随机森林 傻子都能看懂的——详解AdaBoost原理 算法使用过程 #导入数据集模块 from sklearn import datasets #分别加载iris和digits数据集 iris datasets.load_iris() #鸢尾花数据集 # print(dir(datasets)) # print(iris_dataset.keys…

MapReduce代码

WordCount 数据准备&#xff1a; a.txt lxy lxy lxy zhang wsoossj liagn guui liang liagn代码&#xff08;在idea中创建一个Maven工程&#xff09;&#xff1a; mapper&#xff1a; package com.lxy.mr.wordcount.thi;import org.apache.hadoop.io.LongWritable; import…