Docker可视化管理工具DockerUI

什么是 DockerUI ?

DockerUI 是一款开源的、强大的、轻量级的 Docker 管理工具。DockerUI 覆盖了 docker cli 命令行 95% 以上的命令功能,通过可视化的 Web 界面操作,可以非常方便、轻松进行 docker 环境和 docker swarm 集群环境的管理和维护功能,方便不熟悉 docker 指令的用户更快地进入 docker 世界。

这是国内一家公司开发的,原生的中文界面,对国内用户比较友好,如果用不惯 Portainer 可以试试这款

安装

与容器相关的应用,都需要绑定挂载 /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 方式安装。

本文写作时, latest 版本对应为 1.0.1

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
# 运行容器
docker run -d \
--restart unless-stopped \
--name docker.ui \
-p 8999:8999 \
-v /var/run/docker.sock:/var/run/docker.sock \
joinsunsoft/docker.ui

docker-compose 安装

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

1
2
3
4
5
6
7
8
9
10
11
version: "3"

services:
dockge:
image: joinsunsoft/docker.ui
container_name: dockerui
restart: unless-stopped
ports:
- 8999:8999
volumes:
- /var/run/docker.sock:/var/run/docker.sock

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 docker.ui
mkdir -p /volume1/docker/docker.ui

# 进入 docker.ui 目录
cd /volume1/docker/docker.ui

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8999 就能看到登录界面

默认的用户名:ginghan ,密码: 123456

全中文界面,功能就不介绍了

遇到的问题

卡在首界面

第一次运行时,卡在这个界面

从日志看,显示了下面的错误

1
docker.ui | 2023/12/14 09:13:09 33.289 #0000000600000002 - 172.30.0.2:8999<->192.168.0.197:41652 - GET http://192.168.0.197:8999/html/index - cannot open file "/app/./html/html/index": open /app/./html/html/index: no such file or directory

重装后未再复现,原因不明

载入容器慢

加载镜像和数据卷很快,但是加载容器就特别慢

就算老苏的容器多(其实也就 46 个,在运行的只有 36 个),也不需要加载个几分钟吧,看来还是有很大的改进空间的

参考文档

gohutool/docker.ui
地址:https://github.com/gohutool/docker.ui

joinsunsoft/docker.ui - Docker Image | Docker Hub
地址:https://hub.docker.com/r/joinsunsoft/docker.ui