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

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

在这里插入图片描述

本文软件由网友 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:latestcontainer_name: dpanelrestart: unless-stoppedports:- 8807:8080 volumes:- /var/run/docker.sock:/var/run/docker.sock- ./data:/dpanelenvironment:- APP_NAME=dpanel- INSTALL_USERNAME=admin- INSTALL_PASSWORD=admindpanel-plugin-explorer:image: alpine:latest    container_name: dpanel-plugin-explorerrestart: unless-stoppedprivileged: truepid: hostcommand: ["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.lryc.cn/news/477159.html

相关文章:

  • 【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】
  • 使用Docker Compose构建多容器应用
  • 面试知识目录
  • Rust移动开发:Rust在Android端集成使用介绍
  • vue3动态监听div高度案例
  • 数据转换 | Matlab基于SP符号递归图(Symbolic recurrence plots)一维数据转二维图像方法
  • 分类算法——逻辑回归 详解
  • 只允许指定ip远程连接ssh
  • Rust 力扣 - 2841. 几乎唯一子数组的最大和
  • TwinCL: A Twin Graph Contrastive Learning Model for Collaborative Filtering
  • 如何区分实例化网格中的每个实例
  • 理解 WordPress | 第一篇:与内容管理系统的关系
  • Python游戏脚本之实现飞机大战(附源码)
  • 使用Spring Boot搭建简单的web服务
  • 【IF-MMIN】利用模态不变性特征进行缺失模态的鲁棒多模态情感识别
  • RGB图像,排列方式NHWC适合CPU计算,NCHW适合GPU计算
  • 布朗运动
  • WPF+MVVM案例实战(二十二)- 制作一个侧边弹窗栏(CD类)
  • 集成旺店通旗舰版售后单至MySQL数据库
  • 【Linux】从零开始使用多路转接IO --- epoll
  • 爬虫学习4
  • CTF之web题集详情随手笔记
  • TDengine 集群能力:超越 InfluxDB 的水平扩展与开源优势
  • MATCH_DIRECT_BOOT_AWARE和MATCH_DIRECT_BOOT_UNAWARE
  • LabVIEW离心泵性能优化测试系统
  • token和jwt区别
  • 新闻稿件管理:SpringBoot框架实战指南
  • AI运动小程序开发常见问题集锦二
  • nginx安装
  • 【Linux驱动开发】内核定时器的配置和使用