基于华为openEuler系统部署bender开源个人仪表板【华为根技术】
前言
在数字化办公与私有服务管理日益增长的背景下,构建一个美观、易用且安全的个人服务导航仪表板成为提升效率的重要手段。openEuler作为华为主导的开源Linux发行版,凭借其高性能、高安全性与国产化优势,为各类应用提供了坚实的系统底座。本文基于openEuler系统,结合Docker技术部署轻量级开源仪表板Bender,实现无需编码的可视化服务管理。通过本次实践,展现华为根技术生态在个人开发者场景下的强大支撑能力。
一、相关服务介绍
1.1 openEuler系统介绍
- 简介
openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。
- 主要特点
- 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
- 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
- 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
- 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
- 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。
1.2 MyIP介绍
Bender 简介
Bender 是一个开源的、无需编写代码的链接仪表板,专为服务器服务列表等场景设计,深受 Homer 仪表板启发,但最大特色在于完全通过可视化 UI 进行管理,无需维护 YAML 配置文件,支持通过拖放方式轻松添加、排序和分组链接,并可在界面上直接创建页面、设置应用标题、图标和主题。
Bender 主要特点
- 基于 NuxtJS 和 Vue2 构建,前端技术现代且易于扩展。
- 所有配置保存在 static/config.json 中,无需数据库,轻量便捷。
- 内置 FontAwesome 图标库,支持快速搜索和使用实体及品牌图标。
- 支持静态图片资源,可直接引用 static/images 目录中的图像。
- 提供浅色和深色两种界面模式,适配不同使用环境和视觉偏好。
二、本次实践介绍
2.1 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署bender开源个人仪表板。
2.2 本次环境规划
本次环境规划如下所示:
| 服务器 | HostName | IP地址 | 操作系统 | 内核版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|---|
| VM虚拟机 | openEuler-server | 192.168.3.83 | openEuler 24.03 (LTS) | 6.6.0-28.0.0.34.oe2403.x86_64 | bender | —— |
三、本地环境检查
3.1 检查系统版本
检查当前系统版本,当前系统版本为
openEuler 24.03 (LTS)。
[root@openEuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"
3.2 检查内核版本
检查当前内核版本,如下所示:
[root@openEuler-server ~]# uname -r
6.6.0-28.0.0.34.oe2403.x86_64
3.3 检查本地IP
查看本地IP地址,本次实践本地IP设置为
192.168.3.83/24。
[root@openEuler-server ~]# ifconfig ens18
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.83 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::be24:11ff:feaa:bfa5 prefixlen 64 scopeid 0x20<link>
ether bc:24:11:aa:bf:a5 txqueuelen 1000 (Ethernet)
RX packets 1267 bytes 134016 (130.8 KiB)
RX errors 0 dropped 64 overruns 0 frame 0
TX packets 321 bytes 36697 (35.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.4 检查Docker环境
本次实践需要提前部署好Docker环境,检查Docker版本如下所示:
[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb
四、部署bender服务
4.1 下载bender镜像
拉取bender镜像,如下所示:
docker pull jez500/bender:latest

4.2 创建部署目录
- 新建挂载目录
mkdir -p /data/bender && cd /data/bender
4.3 编辑docker-compose.yaml文件
- docker-cli方式部署,可参考:
docker run -d \
--name bender \
-p 9900:8080 \
-v /data/bender/assets/>:/app/static \
--restart=always \
jez500/bender:latest
- docker compose方式部署,如下所示:
新建及编辑docker-compose.yaml文件, 内容如下所示。可自行修改宿主机映射端口,注意防止宿主机端口冲突。
vim docker-compose.yaml
version: '3'
services:
bender:
image: 'jez500/bender:latest'
restart: always
volumes:
- '/data/bender/assets/:/app/static'
ports:
- '9900:8080'
container_name: bender
4.4 创建bender容器
执行以下命令,使用docker compose命令快速部署bender。
docker compose up -d

4.5 检查bender容器状态
检查bender容器状态,确保各组件容器正常启动。
[root@openEuler001 bender]# docker compose ps
WARN[0000] /data/bender/docker-compose.yaml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bender jez500/bender:latest "/bin/sh /app/entryp…" bender 7 minutes ago Up 7 minutes (healthy) 0.0.0.0:9900->8080/tcp, :::9900->8080/tcp
4.6 检查bender容器日志
检查bender容器日志,确保各组件容器服务正常启动。
docker compose logs

五、访问bender服务
访问地址:http://【服务器IP地址】:9900,将IP替换为自己服务器IP地址。如果无法访问到该页面,检查防火墙是否关闭或者放行相关端口,云服务器则还需设置安全组规则。

六、基本使用
6.1 添加页面
在bender主页的右上角,我们点击“+”按钮,选择新增页面选项。

自行填写书签页信息,如下所示:


6.2 添加书签
填写网址链接信息,自定义编辑填写即可。


七、总结
本次实践成功在华为openEuler系统上通过Docker部署了Bender个人仪表板,实现了服务链接的集中化、可视化管理。整个过程验证了openEuler与主流开源容器生态的良好兼容性,展现了其作为国产化基础平台的实用性与稳定性。Bender的无代码配置、拖拽式管理特性极大提升了使用体验,适用于多服务环境的快速导航。该方案为基于国产操作系统构建自主可控的个人数字工作台提供了简洁高效的实现路径。
- 点赞
- 收藏
- 关注作者
评论(0)