当前位置: 首页 > article >正文

【Docker管理工具】部署Docker管理面板DweebUI

【Docker管理工具】部署Docker管理面板DweebUI

  • 一、DweebUI介绍
    • 1.1 DweebUI 简介
    • 1.2 主要特点
    • 1.3 使用场景
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载DweebUI镜像
  • 五、部署DweebUI面板
    • 5.1 创建部署目录
    • 5.2 编辑部署文件
    • 5.3 创建DweebUI容器
    • 5.4 查看DweebUI容器状态
    • 5.5 检查DweebUI容器日志
  • 六、访问DweebUI服务
    • 6.1 访问DweebUI初始页
    • 6.2 注册账号
  • 七、总结

一、DweebUI介绍

1.1 DweebUI 简介

DweebUI 是一款专为管理容器设计的 Web 用户界面(WebUI),它旨在简化 Docker 容器的管理和监控。通过一个直观且用户友好的界面,DweebUI 提供了对服务器和容器指标的实时洞察,并支持多用户环境下的权限管理。无论是个人开发者还是团队协作,DweebUI 都能提供高效、便捷的容器管理体验。

1.2 主要特点

  1. 动态更新仪表板:提供实时的服务器和容器性能数据展示。
  2. 多用户权限系统:允许不同的用户根据其角色拥有不同的操作权限。
  3. 容器操作控制:可以直接从 WebUI 启动、停止、暂停、重启容器,查看详细信息和日志。
  4. 跨平台兼容性:支持 Windows、Linux 和 MacOS 操作系统。
  5. 明/暗模式切换:适应不同用户的视觉偏好。
  6. 移动友好设计:确保在移动设备上也能顺畅使用。
  7. 网络、映像和卷管理:轻松管理 Docker 的网络配置、镜像和存储卷。
  8. 应用程序模板安装:简化常用应用的部署流程。
  9. Docker Compose 支持:集成 Docker Compose 功能,方便复杂应用的编排。
  10. 与 Portainer 兼容:能够利用 Portainer 的模板资源,扩展应用范围。
  11. 计划中的特性:包括容器自动更新、预设变量设置以及更多主题选择。

1.3 使用场景

  • 开发环境:开发者可以快速测试和部署应用程序,利用内置的应用程序模板加速开发周期。
  • 生产环境监控:运维人员可以通过 DweebUI 实时监控服务器和容器状态,及时响应异常情况。
  • 团队协作:项目成员可以根据各自的角色分配相应的权限,安全地共享容器管理任务。
  • 学习和培训:对于想要学习 Docker 技术的人来说,DweebUI 提供了一个易于理解和使用的入门工具。
  • 中小企业:不需要大型企业级解决方案的小型组织可以通过 DweebUI 获得专业的容器管理能力,而无需投入过多资源。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Centos7。

hostname内网 IP地址操作系统版本Docker版本项目名称
VM-8-9-centos10.3.8.9CentOS Linux 726.1.3DweebUI

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署DweebUI面板。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@VM-8-9-centos ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2025-01-09 20:59:40 CST; 4 days agoDocs: https://docs.docker.comMain PID: 1424 (dockerd)Tasks: 9Memory: 1.0GCGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@VM-8-9-centos ~]# docker -v
Docker version 26.1.3, build b72abbb

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@VM-8-9-centos ~]# docker compose version
Docker Compose version v2.27.1

四、下载DweebUI镜像

执行以下命令,拉取以下DweebUI镜像。

[root@VM-8-9-centos ~]# docker pull lllllllillllllillll/dweebui:v0.7X-dev
v0.7X-dev: Pulling from lllllllillllllillll/dweebui
43c4264eed91: Pull complete
ce7073536305: Pull complete
d802cc9c53c1: Pull complete
dcb10ec30561: Pull complete
5de483657806: Pull complete
ebd6b0bac75a: Pull complete
f22f33b6e642: Pull complete
255991fd21b8: Pull complete
4c3dec1e4631: Pull complete
Digest: sha256:b51ecdbf43dfbdeb755783165617beb2a48dbb25d05939acbdd68e9bd3f7e87d
Status: Downloaded newer image for lllllllillllllillll/dweebui:v0.7X-dev
docker.io/lllllllillllllillll/dweebui:v0.7X-dev

五、部署DweebUI面板

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/dweebui && cd /data/dweebui

5.2 编辑部署文件

本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vim docker-compose.yaml
version: "3.9"
services:dweebui:container_name: dweebuiimage: lllllllillllllillll/dweebui:v0.7X-devenvironment:PORT: 8000SECRET: MrWiskersrestart: unless-stoppedports:- 9000:8000volumes:- dweebui:/app# Docker socket- /var/run/docker.sock:/var/run/docker.sock# Podman socket#- /run/podman/podman.sock:/var/run/docker.socknetworks:- dweebui_netvolumes:dweebui:networks:dweebui_net:driver: bridge

5.3 创建DweebUI容器

执行以下命令,创建DweebUI容器。

[root@VM-8-9-centos dweebui]# docker compose up -d
WARN[0000] /data/dweebui/docker-compose.yaml: `version` is obsolete
[+] Running 3/3✔ Network dweebui_dweebui_net  Created                                                                             0.0s✔ Volume "dweebui_dweebui"     Created                                                                             0.0s✔ Container dweebui            Started                                                                             1.0s

5.4 查看DweebUI容器状态

检查DweebUI容器状态状态,确保DweebUI容器正常启动。

[root@VM-8-9-centos dweebui]# docker compose ps
WARN[0000] /data/dweebui/docker-compose.yaml: `version` is obsolete
NAME      IMAGE                                   COMMAND                  SERVICE   CREATED          STATUS          PORTS
dweebui   lllllllillllllillll/dweebui:v0.7X-dev   "docker-entrypoint.s…"   dweebui   52 seconds ago   Up 50 seconds   0.0.0.0:9000->8000/tcp, :::9000->8000/tcp

5.5 检查DweebUI容器日志

检查DweebUI容器日志,确保DweebUI服务正常运行。

docker compose logs

在这里插入图片描述

六、访问DweebUI服务

6.1 访问DweebUI初始页

访问地址:http://IP地址:9000,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

6.2 注册账号

在账号注册页面,自定义填写账号,填写完毕后,确认即可。

在这里插入图片描述
在这里插入图片描述

七、总结

DweebUI 以其用户友好的界面和实时监控能力,极大地简化了 Docker 容器的管理流程,成为个人开发者和团队不可或缺的工具。它不仅支持多用户权限管理,还提供了跨平台兼容性和多种便捷特性,显著提升了容器操作的效率与安全性。尽管当前版本中仍有部分功能有待增强,但随着后续更新,DweebUI 势必会带来更加完善的用户体验和更多的实用特性。

相关文章:

【Docker管理工具】部署Docker管理面板DweebUI

【Docker管理工具】部署Docker管理面板DweebUI 一、DweebUI介绍1.1 DweebUI 简介1.2 主要特点1.3 使用场景 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载DweebUI镜像五、…...

【后端高阶面经:架构篇】50、数据存储架构:如何改善系统的数据存储能力?

一、数据存储架构设计核心原则 (一)分层存储架构:让数据各得其所 根据数据访问频率和价值,将数据划分为热、温、冷三层,匹配不同存储介质,实现性能与成本的平衡。 热数据层:访问频率>100次/秒。采用Redis集群存储高频访问数据(如用户登录态、实时交易数据),配合…...

编程之巅:语言的较量

第一章:代码之城的召集令 在遥远的数字大陆上,有一座名为“代码之城”的神秘都市。这里居住着各种编程语言的化身,他们以拟人化的形态生活,每种语言都有独特的性格与技能。Python是个优雅的学者,C是个硬核战士&#x…...

STM32 通过 ESP8266 通信详解

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进 ❤欢迎关注我的知乎:对error视而不见 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 🍎获取更多嵌入式资料可点击链接进群领…...

Qt/C++开发监控GB28181系统/sip协议/同时支持udp和tcp模式/底层协议解析

一、前言说明 在gb28181-2011协议中,只有udp要求,从2016版本开始要求支持tcp,估计也是在多年的实际运行过程中,发现有些网络环境差的场景下,一些udp交互指令丢失导致功能异常,所以后面修订的时候增加了tcp…...

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册

晨控CK-FR03与汇川H5U系列PLC配置MODBUS TCP通讯连接操作手册 CK-FR03-TCP是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协…...

山海鲸轻 3D 渲染技术深度解析:预渲染如何突破多终端性能瓶颈

在前期课程中,我们已系统讲解了山海鲸两大核心渲染模式——云渲染与端渲染的技术特性及配置方法。为满足复杂场景下的差异化需求,山海鲸创新推出轻3D渲染功能,本文将深度解析该技术的实现原理与操作实践。 一、轻3D功能研发背景 针对多终端协…...

t014-项目申报管理系统 【springBoot 含源码】

项目演示视频 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,项目信息因为其管理内容繁杂,管理数量繁多导致手工进行…...

阻止H5页面中键盘收起的问题

在移动端H5开发中,当输入框失去焦点时,键盘会自动收起,但有时我们需要阻止这种行为。以下是几种解决方案: 常见原因 输入框失去焦点触发键盘收起页面滚动或触摸其他区域导致键盘收起某些浏览器(特别是iOS Safari)的默认行为 解…...

将 AI 解答转换为 Word 文档

相关说明 DeepSeek 风靡全球的2025年,估计好多人都已经试过了,对于理科老师而言,有一个使用痛点,就是如何将 AI 输出的 mathjax 格式的符号转化为我们经常使用的 mathtype 格式的,以下举例说明。 温馨提示&#xff1…...

AI 产品的 MVP 构建逻辑:Prompt 工程 ≠ 产品工程?

一、引言:技术细节与系统工程的本质分野 在 AI 产品开发的战场中,Prompt 工程与产品工程的边界模糊正在引发深刻的认知革命。当工程师们沉迷于优化 “请用三段式结构分析用户需求” 这类提示词时,产品经理却在思考如何通过用户行为数据验证 …...

Go语言开发的GMQT物联网MQTT消息服务器(mqtt Broker)支持海量MQTT连接和快速低延时消息传输-提供源码可二次开发定制需求

关于GMQT物联网MQTT消息平台 GoFly社区推出《GMQT物联网MQTT消息平台》,完全使用高性能的Go语言编写,内嵌数据库(不依赖三方库), 全面支持MQTT的v3.0.0、v3.1.1以及完全兼容 MQTT v5 功能。利用Go语言高并发性、高效利用服务器资源、跨平台支…...

JavaScript es6 语法 map().filter() 链式调用,语法解析 和常见demo

摘要: map:遍历数组并对每个元素执行回调函数,返回一个新数组 filter:对 map 返回的数组进行过滤,返回满足条件的元素组成的新数组 1.数字数组处理 const numbers [1, 2, 3, 4, 5];// 先平方,再筛选偶数…...

leetcode2221. 数组的三角和-medium

1 题目:数组的三角和 官方标定难度:中 给你一个下标从 0 开始的整数数组 nums ,其中 nums[i] 是 0 到 9 之间(两者都包含)的一个数字。 nums 的 三角和 是执行以下操作以后最后剩下元素的值: nums 初始…...

Express教程【001】:Express创建基本的Web服务器

文章目录 1、初识express1.1 什么是Express1.2 主要特点1.3 Express的基本使用1.3.1 安装1.3.2 创建基本的Web服务器 1、初识express 目标: 能够使用express.static()快速托管静态资源能够使用express路由精简项目结构能够使用常见的express中间件能够使用express创…...

asio之async_result

简介 async_result用来表示异步处理返回类型 async_result 是类模板 type:为类模板中声明的类型,对于不同的类型,可以使用类模板特例化,比如针对use_future...

代码随想录算法训练营 Day60 图论Ⅹ Bellmen_ford 系列算法

图论 题目 94. 城市间货物运输 I Bellmen_ford 队列优化算法 SPFA 大家可以发现 Bellman_ford 算法每次松弛 都是对所有边进行松弛。 但真正有效的松弛,是基于已经计算过的节点在做的松弛。 本图中,对所有边进行松弛,真正有效的松弛&#…...

独立机构软件第三方检测:流程、需求分析及电商软件检验要点?

独立机构承担着对软件进行第三方检测的任务,这一环节对于提升软件的质量和稳定性起到了极其关键的作用。检测过程拥有一套完善的流程,目的在于确保检测结果的精确性,并保障软件达到高标准。 需求分析 确保软件测试需求清晰十分关键。我们需…...

Java构建Tree并实现节点名称模糊查询

乐于学习分享… 大家加油努力 package com.tom.backtrack;import lombok.Data; import lombok.Getter;import java.util.ArrayList; import java.util.List; import java.util.Objects;/*** 树节点** author zx* date 2025-05-27 19:51*/ Data public class TreeNode {private …...

shadcn/ui

文章目录 前言✅ 核心特点📦 支持组件(常用)🚀 安装使用(框架支持)初始化(Next.js 项目为例)添加一个组件 🧠 对比其他组件库📘 官方资源✅ 总结✅ 功能特性&…...

华为FreeArc能和其他华为产品共用充电线吗?

最近刚买的FreeArc终于到手啦,看到网上有朋友说,这次的耳机是不附带充电线,开箱后发现果真如此,那FreeArc到底用什么规格的充电线,能不能和华为的Type-C数据线通用,我来给大家解答一下吧! Free…...

[网页五子棋][匹配模式]创建房间类、房间管理器、验证匹配功能,匹配模式小结

文章目录 创建房间类创建房间类实现房间管理器 实现匹配器(3)验证匹配功能问题:匹配按钮不改变验证多开 小结 创建房间类 LOL,通过匹配的方式,自动给你加入到一个房间,也可手动创建游戏房间 这一局游戏,进行的“场所…...

实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.7 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第3章单因子实验&#xff1a;方差分析3.11思考题3.7 R语言解题。主要涉及单因子方差分析&#xff0c;正态性假设检验&#xff0c;残差与拟合值的关系图&#xff0c;平方根变换。 X<-c(…...

【知识点】第2章:Python程序实例解析

文章目录 知识点整理Python程序语法元素分析 练习题判断题填空题选择题 知识点整理 Python程序语法元素分析 Python程序包括格式框架、注释、变量、表达式、分支语句、循环语句、函数等语法元素。 程序的格式框架 Python语言采用严格的 “缩进” 来表明程序的格式框架。缩进…...

从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理

问题背景 最近在项目中遇到一个问题&#xff1a;在档口分享功能中&#xff0c;需要动态生成一个分享图片。代码是这样写的&#xff1a; // 项目中的代码 val shareView LayoutInflater.from(thisStallMainActivityV1).inflate(R.layout.share_header_stall_main_layout, nul…...

Ubuntu 22.04 上使用 Docker 安装 RagFlow

GitHub地址:添加链接描述 RAGFlow 是一款开源的检索增强生成(Retrieval-Augmented Generation,简称 RAG)引擎,旨在通过深度文档理解技术,结合大语言模型(LLM),为用户提供高质量、可溯源的问答服务。 🚀 快速入门 RAGFlow 提供了便捷的部署方式,支持 Docker 环境。…...

每日Prompt:指尖做画

提示词 微缩景观&#xff0c;微距摄影&#xff0c;俯瞰角度&#xff0c;特写&#xff0c;硕大食指手指甲&#xff0c;一个小小的人正在做画&#xff0c;小人右手拿画笔&#xff0c;小人左手拿调色盘&#xff0c;在指甲上作画&#xff0c;画的是中国古代山水画&#xff0c;背景…...

Python打卡训练营day40——2025.05.30

知识点回顾&#xff1a; 彩色和灰度图片测试和训练的规范写法&#xff1a;封装在函数中 展平操作&#xff1a;除第一个维度batchsize外全部展平 dropout操作&#xff1a;训练阶段随机丢弃神经元&#xff0c;测试阶段eval模式关闭dropout 作业&#xff1a;仔细学习下测试和训练…...

Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?

Java中有哪些数据类型转换&#xff1f; 显示类型转换&#xff1a;在前面一个括号&#xff0c;里面写上要转换的类型 隐式类型转换&#xff1a;小范围的数据类型转大范围的&#xff0c;int到long&#xff0c;float到double 字符串转整形或浮点&#xff1a;整形&#xff1a;In…...

redis未授权(CVE-2022-0543)

概述 Redis 默认绑定在 0.0.0.0:6379&#xff0c;在未配置防火墙或访问控制的情况下会将服务暴露在公网上。若未设置访问密码&#xff08;默认通常为空&#xff09;&#xff0c;攻击者可直接未授权访问 Redis。利用 Redis 提供的 CONFIG 命令&#xff0c;攻击者可修改配置并将…...