Docker可视化管理面板DPanel的安装

news2024/11/13 6:35:20

在这里插入图片描述

本文软件由网友 rui 推荐;

什么是 DPanel ?

DPanel 是一款 Docker 可视化管理面板,旨在简化 Docker 容器、镜像和文件的管理。它提供了一系列功能,使用户能够更轻松地管理和部署 Docker 环境。

软件特点:

  1. 可视化管理:提供直观的用户界面,方便用户管理 Docker 容器和镜像。
  2. 容器管理:用户可以创建、启动、停止和删除容器,查看容器日志和状态。
  3. 镜像管理:支持镜像的拉取、推送、构建和删除等操作。
  4. 文件管理:允许用户浏览和管理容器内的文件系统。
  5. Compose 支持:可以创建和部署 Docker Compose 项目,简化多容器应用的管理。
  6. 容器关联:提供容器之间的关联功能,便于多个容器之间的互相依赖访问。
  7. 镜像构建:提供多种环境的基础镜像和模板,可以快速构建属于自己的镜像。

安装

在群晖上以 Docker 方式安装。

说明

DPanel 有两个版本,一个是标准版本,还有个 Lite 版。其中 Lite 版本中,不包含域名转发功能。即容器内不会安装 nginxacme.sh 等相关组件。

Lite 版如果需要域名转发,需要借助外部工具,例如 NginxProxyManagerLucky、宝塔、Nginx

本文采用的是标准版 dpanel/dpanel:latest

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

如果你下载不了,可以使用国内镜像:registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest

另一个国内镜像: ccr.ccs.tencentyun.com/dpanel/dpanel:latest ,似乎版本还停留在 1.0.4.2,就不建议使用了

/var/run/docker.sock

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock ,包括我们之前安装的 portainerwatchtowerGlancesNetdata 等。

什么是 /var/run/docker.sock ?

/var/run/docker.sockDocker 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 cli 更快捷

# 新建文件夹 dpanel 和 子目录
mkdir -p /volume1/docker/dpanel/data

# 进入 dpanel 目录
cd /volume1/docker/dpanel

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name dpanel \
   -p 8807:8080 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v $(pwd)/data:/dpanel \
   -e APP_NAME=dpanel \
   dpanel/dpanel:latest

# 运行容器(国内源)
docker run -d \
   --restart unless-stopped \
   --name dpanel \
   -p 8807:8080 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v $(pwd)/data:/dpanel \
   -e APP_NAME=dpanel \
   registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest
  • APP_NAME:dpanelAPP_NAME 请保持与 container_name 一致

默认安装完成后,只有一个容器

但是当你使用文件管理时,第一次打开时会比较慢

因为会下载 dpanel/explorer:lates 镜像生成了一个新的容器 dpanel-plugin-explorer,用于完成文件浏览

docker-compose 安装

所以,我们也可以用 docker-compose 一起安装,这样话,就算是第一次打开文件管理也是很快的

将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  dpanel:
    image: registry.cn-hangzhou.aliyuncs.com/dpanel/dpanel:latest
    # image: dpanel/dpanel:latest
    container_name: dpanel
    restart: unless-stopped
    ports:
      - 8807:8080 
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/dpanel
    environment:
      - APP_NAME=dpanel
      - INSTALL_USERNAME=admin
      - INSTALL_PASSWORD=admin
      
  dpanel-plugin-explorer:
    image: alpine:latest    
    container_name: dpanel-plugin-explorer
    restart: unless-stopped
    privileged: true
    pid: host
    command: ["sh", "-c", "tail -f /dev/null"]
  • APP_NAME :请保持与 container_name 一致;
  • INSTALL_USERNAME:用于指定用户名;
  • INSTALL_PASSWORD:用于指定密码;

然后执行下面的命令

# 新建文件夹 dpanel 和 子目录
mkdir -p /volume1/docker/dpanel/data

# 进入 dpanel 目录
cd /volume1/docker/dpanel

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

# 一键启动
docker-compose up -d

运行

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

如果你没有通过环境变量指定用户名和密码,那么默认用户密码为 admin/admin

不知道什么原因,用量统计显示不出来,从日志看似乎与磁盘相关

default	home	{"info": "disk usage timeout "}

老苏尝试在另一台群晖上运行,却又是正常的

从日志看,这次获取到了磁盘的信息,所以前面的可能是特殊情况了

default home {"info": "get disk usage"}

软件除了类似 portainer 的功能外,还有一些特色的功能,比如: 替换服务

假如用 compose 部署两个 wordpress 项目,会产多个 mysql 数据库。 但是在实际中,大部分的做法是让多个 wordpress 共用同一个 mysql 实例,用不同的数据库进行区分。

为此 DPanel 面板提供了将 compose 中的服务替换为已存在的容器的功能。

更多功能,可以去看官方的说明文档,中文的,而且挺详细的,地址:https://dpanel.cc/#/README

另外还有很多视频教程:https://space.bilibili.com/346309066

参考文档

donknap/dpanel: docker可视化管理面板
地址:https://github.com/donknap/dpanel

DPanel 可视化 Docker 管理面板
地址:https://dpanel.cc/#/

Docker
地址:https://dpanel.cc/#/zh-cn/install/docker

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java——final用法

一、final 介绍 在Java中,final关键字有多种用途,可以用来修饰变量、方法和类。它的主要作用是确保所修饰的内容不可改变。 二、final 用法 1、修饰变量 1)局部变量 当一个局部变量被声明为final时,它的值在初始化后就不能被…

科技改变生活:最新智能开关、调光器及插座产品亮相

根据QYResearch调研团队的最新力作《欧洲开关、调光器和插座市场报告2023-2029》显示,预计到2029年,欧洲开关、调光器和插座市场的规模将攀升至57.8亿美元,并且在接下来的几年里,将以4.2%的复合年增长率(CAGR&#xff…

走进算法大门---双指针问题(一)

一.双指针算法介绍 概念:双指针是指在遍历数据结构(如数组、链表等)时使用两个指针,通过特定的移动规则来解决问题。这两个指针可以同向移动,也可以相向移动。 同向双指针:常用于解决需要两个位置信息的问…

用 Python 从零开始创建神经网络(一)

用 Python 从零开始创建神经网络(一) 引言1. A Single Neuron:Example 1代码部分: Example 2代码部分: 2. A Layer of Neurons:Example 1代码部分: 引言 本教程专为那些对神经网络已有基础了解…

深度学习⑨GANs

Discriminative and Generative Models Deep learning中主要两种模型 判别模型专注于从输入预测输出,例如分类任务。学习数据点和标签之间的特征 生成模型则试图理解数据是如何产生的,能够生成新的数据样本。理解数据分布和是否可以被预测 Quiz time: Discriminative mo…

[产品管理-58]:安索夫矩阵矩阵帮助创业者确定研发出来的产品在市场中定位策略

目录 一、提出背景 二、核心思想与结构 三、应用背景与领域 四、实践案例 安索夫矩阵(Ansoff Matrix),也被称为产品/市场方格或成长矢量矩阵,其应用背景可以从以下几个方面进行详细阐述: 一、提出背景 安索夫矩阵…

物联网对商业领域的影响

互联网彻底改变了通信方式,并跨越了因地理障碍造成的人与人之间的鸿沟。然而,物联网(IoT)的引入通过使设备能够连接到互联网,改变了设备的功能。想象一下,你的闹钟连接到互联网,并且能够用你的声…

微信小程序——用户隐私保护指引填写(详细版)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

LED点阵显示(Proteus 与Keil uVision联合仿真)(点阵字模提取)

点阵字模提取: https://pan.baidu.com/s/1DZSeLyD_SUkaHRgTm26o-A 提取码: 1111 一、LED点阵显示器结构 点亮点阵中一个发光二极管条件:对应行为高电平,对应列为低电平。如在很短时间内依次点亮很多个发光二极管,LED点阵就可显示…

JDBC学习记录

文章目录 一、JDBC简介1.1、 JDBC概念1.2、 JDBC本质1.3、 JDBC好处 二、JDBC快速入门2.1、 编写代码步骤2.2、 代码示例 三、JDBC API详解3.1、DriverManager3.1.1、注册驱动3.1.2、获取连接 3.2、Connection3.2.1、获取执行对象3.2.2、事务管理 3.3、Statement3.3.1、执行DDL…

[Linux] 进程等待 | 进程替换

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 我有一个朋友&#x…

运用Agent搭建“狼人杀”游戏服务器端!

背景 从23年开年以来,大模型引爆了各行各业。去年比较出圈的是各类文生图的应用,比如Stable Diffusion。网上可以看到各类解释其背后的原理和应用的文章。另外一条平行线,则是文生文的场景。受限于当时LLM(大语言模型&#xff09…

笔记分享 |【黑马Pink老师】Web APIs

Web API 基本认知 介绍 严格意义上讲,我们在 JavaScript 阶段学习的知识绝大部分属于 ECMAScript 的知识体系; ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的&am…

Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin

Android Glide动态apply centerCropTransform(),transition withCrossFade动画,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.Glide import …

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区,只是默认开窗存储; 分区是按行,如一百行数据,按十位上的数字分区,则有十个分区,每个分区里有十行; 分桶是根据某个字段哈希对桶数取…

嵌入式新手必读好文,常见传感器类型中,LM393的作用,及模块原理(看不懂来问我)!!!

目录 序言 常感器基本知识 常见传感器原理 D0引脚的作用 如何设置电位器 欢迎指正,希望对你,有所帮助,禁止搬运!!! 前言:编写不易,请问搬运,仅供学习,有…

机器学习2_支持向量机_线性可分——MOOC

目录 定义 线性可分(Linear Separable) 线性不可分(Nonlinear Separable) 数学化定义 问题描述 优化问题 线性可分定义 假定训练样本集是线性可分的 1、最小化(Minimize): 2、限制条件…

git 工具原理

git 目录 git git的使用 了解git的三个区域 具体操作 如何下载别人上传到git的工程 -- 可以参考菜鸟教程,包括安装配置git Git 安装配置 | 菜鸟教程 -- Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torval…

MAN TruckScenes数据集:第一个用于自动驾驶卡车的大规模多模式数据集。

2024-07-15,为了推进自动驾驶卡车技术的发展并确保其在公共道路上的安全性,由慕尼黑工业大学和MAN Truck & Bus SE联合创建了MAN TruckScenes数据集。数据集首次为研究社区提供了一个包含丰富环境条件下的卡车特定挑战,如拖车遮挡、新型传感器视角和…

基于微信小程序的实习管理系统(附源码,文档)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…