简易Docker磁盘使用面板Doku

这个项目似乎有 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 更快捷

1
2
3
4
5
6
7
8
# 运行容器
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 文件

1
2
3
4
5
6
7
8
9
10
11
12
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

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 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/