Skip to content

Dozzle 与 Portainer 对比 ​

Portainer 是为管理容器而生的:stack、卷、网络、镜像和用户。Dozzle 是为查看它们的日志而生的。Portainer 有日志查看器,Dozzle 也能启动、停止和更新容器,但两者的重心各不相同。很多人两个都在用。

一览 ​

DozzlePortainer
主要用途查看日志管理容器、stack、卷、网络和镜像
实时日志日志行一到就流式显示自动刷新
多个容器一个 stack、一个服务或一个自定义分组,在同一个合并视图中查看一次一个容器
JSON 日志自动识别、格式化并着色。可对 JSON 字段使用 SQL以文本显示
搜索搜索和过滤,支持正则表达式按文本搜索和过滤
CPU 和内存带近期历史的实时图表实时统计
警报针对日志行、CPU 或内存,以及容器事件。参见警报日志查看器中没有
镜像更新检查新镜像并按计划更新。参见更新手动拉取并重新部署
多台主机Agent、Swarm、Kubernetes环境(Environments)
部署一个容器,首次启动时有一个可选的设置向导一个容器,首次启动时还需创建管理员账户

什么时候该用 Portainer ​

如果你想在浏览器里创建和编辑 stack,管理卷、网络和镜像,或者让团队只能访问部分环境,就选 Portainer。这些 Dozzle 都不打算做。

什么时候 Dozzle 更合适 ​

当问题是“这个容器现在在做什么?”时,就选 Dozzle。它打开就是日志,能同时跟踪多个容器,无需任何设置就能让 JSON 变得易读。它默认也是只读的:操作和终端访问在你开启之前都是关闭的。

同时运行两者 ​

两者互不冲突。它们都读取 Docker 套接字,并运行在不同的端口上:

yaml
services:
  dozzle:
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dozzle_data:/data
    ports:
      - 8080:8080
  portainer:
    image: portainer/portainer-ce:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer-data:/data
    ports:
      - 9443:9443
volumes:
  dozzle_data:
  portainer-data:

要从 Portainer 跳转到某个容器在 Dozzle 中的日志,请参见按名称链接到容器。

基于 MIT 许可证发布。开源项目,由 Docker OSS 赞助。