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 任务调度

优点:

  1. 支持 container 批量操作;
  2. 支持 image 管理(虽然比较薄弱)

缺点:

不支持多主机。

安装

安装方式和步骤在 GitHub 或是项目下载下来以后的 README.md 文件中都有说明:
一种是从 GitHub 安装,一种是通过 docker 进行安装。
[Pasted image 20240801171643.png]

GitHub安装(推荐)

下载 docker.ui 源码

cd /home/TMesh/software

git clone https://github.com/gohutool/docker.ui.git

安装 golang 运行环境

docker.ui 运行依赖 go 环境,需要提前安装 go 环境。安装过程整体比较简单:

  1. 创建 go 文件夹
mkdir -p /home/TMesh/software/go
  1. 下载 go 压缩包并解压缩
    golang.google.cn/dl,选择对应系统下载文件
    [Pasted image 20240801171849.png]
    也可以通过 wget 命令下载:
wget https://golang.google.cn/dl/go1.19.1.linux-amd64.tar.gz 

tar -xvf go1.19.1.linux-amd64.tar.gz
  1. 添加到环境变量
    编辑 /etc/profile,添加如下内容:
export GO_HOME=/home/TMesh/software/go
export PATH=$PATH:$GO_HOME/bin
  1. 重载环境变量
source /etc/profile
  1. 验证是否安装成功
go --help

出现以下信息表示安装配置成功:
[Pasted image 20240801172052.png]

项目配置

进入 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,登录后首页如下:
它会自动识别当前主机下的所有镜像、数据卷、容器等,无需做任何配置,同时也能够监控当前系统资源使用情况。
[Pasted image 20240801172448.png]

posted @   Thousand_Mesh  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示