Py学习  »  docker

简易Docker磁盘使用面板Doku

各种折腾 • 1 年前 • 417 次点击  

这个项目似乎有 1 年多没更新了,最后发布版本的问题也没人修复,所以看看就行,不建议安装

什么是 Doku ?

Doku 是一个简单、轻量级的基于 Web 的应用程序,允许您以用户友好的方式监控 Docker 磁盘使用情况。Doku 显示 Docker 守护进程使用的磁盘空间量,按图像、容器、卷和构建器缓存划分。DokuGlances 的绝佳替代品。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 amerkurev ,选择第一个 amerkurev/doku,版本选择 latest

本文开始写作时, latest 版本对应为  v0.0.16

但是这个版本会加载不出来, 一直显示  loading,日志显示 failed to execute request: docker disk usage" err="Error response from daemon: a disk usage operation is already running

在官方的 Issues 也有人提到这个问题:https://github.com/amerkurev/doku/issues/22

而之前折腾的 v0.0.15 虽然慢,但却是正常的,不知道问题出在哪里

命令行安装

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainerwatchtowerGlancesNetdata 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sock 是 Docker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

title

图片来自: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 doku \
   -p 9093:9090 \
   -v /var/run/docker.sock:/var/run/docker.sock:ro \
   -v /:/hostroot:ro \
   amerkurev/doku:v0.0.15
文件夹装载路径说明
/var/run/docker.sock /var/run/docker.sock看前面的描述
//hostroot挂载主机上的顶级目录,否则 Doku 无法计算日志和绑定挂载的大小

其中, :ro 表示以只读方式

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3"

services:
  doku:
    image: amerkurev/doku:v0.0.15
    container_name: doku
    restart: unless-stopped
    ports:
      - 9093:9090
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /:/hostroot:ro

然后执行下面的命令

# 新建文件夹 doku
mkdir -p /volume1/docker/doku

# 进入 doku 目录
cd /volume1/docker/doku

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9093 ,稍等一会儿就能看到主界面

再多等一会儿,数据会逐渐加载出来

居然有 92 个镜像,这一天天的,都在折腾啥呢?

容器有 52

卷的信息

Bind Mounts 信息

日志信息

Build Cache ,估计是构建镜像过程中的缓存吧?

参考文档

amerkurev/doku: 💽 Doku - Docker disk usage dashboard
地址:https://github.com/amerkurev/doku

Doku - Docker disk usage dashboard
地址:https://docker-disk.space/

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/170302