DockerUI
简介
DockerUI 是一款开源的、强大的、轻量级的 Docker 管理工具。DockerUI 覆盖了 docker cli 命令行 95% 以上的命令功能,通过可视化的界面,即使是不熟悉 docker 命令的用户也可以非常方便的进行 Docker 和 Docker Swarm 集群进行管理和维护。
DockerUI 后端使用 Go 语言开发,前台框架使用CubeUI。通过 Docker Restful API,经过 Go语言编写的 Proxy 端, 实现和 Docker Daemon 进行通信,从而实现 Docker 的管理命令和维护命令。
官网:https://github.com/gohutool/docker.ui
特征
- Docker 主机管理管理_ 数据卷管理、镜像管理、容器管理、构建管理、仓库配置管理、网络配置管理
- Docker swarm 集群管理_ 集群配置信息、节点管理、服务管理、任务管理、密码管理、配置管理
- 任务安排_ Docker 任务调度、docker swarm 任务调度
优点:
- 支持 container 批量操作;
- 支持 image 管理(虽然比较薄弱)
缺点:
不支持多主机。
安装
安装方式和步骤在 GitHub 或是项目下载下来以后的 README.md 文件中都有说明:
一种是从 GitHub 安装,一种是通过 docker 进行安装。
GitHub安装(推荐)
下载 docker.ui 源码
cd /home/TMesh/software
git clone https://github.com/gohutool/docker.ui.git
安装 golang 运行环境
docker.ui 运行依赖 go 环境,需要提前安装 go 环境。安装过程整体比较简单:
- 创建 go 文件夹
mkdir -p /home/TMesh/software/go
- 下载 go 压缩包并解压缩
golang.google.cn/dl,选择对应系统下载文件
也可以通过 wget 命令下载:
wget https://golang.google.cn/dl/go1.19.1.linux-amd64.tar.gz
tar -xvf go1.19.1.linux-amd64.tar.gz
- 添加到环境变量
编辑 /etc/profile,添加如下内容:
export GO_HOME=/home/TMesh/software/go
export PATH=$PATH:$GO_HOME/bin
- 重载环境变量
source /etc/profile
- 验证是否安装成功
go --help
出现以下信息表示安装配置成功:
项目配置
进入 docker.ui 项目目录,执行以下命令,编译生成 server 文件
cd docker.ui
export GO111MODULE=on
export GOPROXY="https://goproxy.cn,direct"
go env -w GOPROXY=https://goproxy.cn
go mod tidy
go mod download
go build -o server .
# 执行完成后目录下会多出一个server文件
启动服务
./server
启动后会开放 8999 端口,可以通过 http://ip:8999 进行访问
创建启动脚本
通过 ./server 启动会一直处于前台运行,无法再进行别的操作,一旦 Ctrl+C,将终止程序进程。对此,我们可以创建一个启动脚本 start.sh,达到后台运行的目的,脚本内容如下:
nohup ./server >nohup.out 2>&1 &
其中:
- nohup:即 no hang up,放在命令的开头,表示不挂起,使进程保持运行状态,一般配合 & 使用;
- 2:表示标准错误,2> 表示错误重定向;
- 1:表示标准输出,所以 2>&1 就表示将标准错误重定向到标准输出;
- &:放在命令结尾,表示后台运行;
所以,整条命令的作用就是:以后台方式运行 server 服务,并将运行产生的 log 日志输出到nohup.out文件。此时我们再通过"tail -f nohup.out"命令即可达到实时查看服务日志的效果。
通过 docker 安装
官方提供了两种安装方式,除了上述提到的传统安装方式,也提供了 docker #### 拉取镜像一键部署。不过我之前使用 docker 部署后,在使用时会报错, GitHub 上有人提了 issue,不知道目前解决了没有。以下部署方式仅供参考:
拉取镜像
docker pull joinsunsoft/docker.ui
docker pull uifd/ui-for-docker (现在 dockerUI 镜像位置变了)
创建容器
docker run --restart always \
--name docker.ui \
--restart=always \
--privileged=true \
-d \
-p 8999:8999 \
-v /var/run/docker.sock:/var/run/docker.sock \
uifd/ui-for-docker
vim /etc/sysconfig/iptables
......
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
systemctl restart iptables.service
浏览器访问
安装完成并启动成功后,即可通过 http://ip:8999 进行访问,例如
默认账号密码:ginghan 123456,登录后首页如下:
它会自动识别当前主机下的所有镜像、数据卷、容器等,无需做任何配置,同时也能够监控当前系统资源使用情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了