这个项目似乎有
1
年多没更新了,最后发布版本的问题也没人修复,所以看看就行,不建议安装
什么是 Doku ?
Doku
是一个简单、轻量级的基于Web
的应用程序,允许您以用户友好的方式监控Docker
磁盘使用情况。Doku
显示Docker
守护进程使用的磁盘空间量,按图像、容器、卷和构建器缓存划分。Doku
是Glances
的绝佳替代品。
安装
在群晖上以 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
,包括我们之前安装的 portainer
、watchtower
,Glances
,Netdata
等。
什么是 /var/run/docker.sock
?
/var/run/docker.sock
是Docker API
的主要入口,简单地说,它是Docker
守护进程(Docker daemon
)默认监听的Unix
域套接字(Unix domain socket
),容器中的进程可以通过它与Docker
守护进程进行通信。
图片来自: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/