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

本文软件由网友 rui 推荐;

什么是 DPanel ?

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

软件特点:

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

安装

在群晖上以 Docker 方式安装。

说明

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

Lite 版如果需要域名转发,需要借助外部工具,例如 NginxProxyManager、Lucky、宝塔、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 ,包括我们之前安装的 portainer、watchtower,Glances,Netdata 等。

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

/var/run/docker.sock 是 Docker API 的主要入口,简单地说,它是 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字(Unix domain socket),容器中的进程可以通过它与 Docker 守护进程进行通信。

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker 管理器并不支持挂载 /var/run/docker.sock 文件,所以这次我们需用命令行来安装

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 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:dpanel :APP_NAME 请保持与 container_name 一致

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

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

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

docker-compose 安装

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

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

yaml 复制代码
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:用于指定密码;

然后执行下面的命令

bash 复制代码
# 新建文件夹 dpanel 和 子目录
mkdir -p /volume1/docker/dpanel/data

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

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

# 一键启动
docker-compose up -d

运行

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

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

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

log 复制代码
default	home	{"info": "disk usage timeout "}

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

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

log 复制代码
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

相关推荐
JieDavid3 小时前
奇智创达知识产权管理系统期限监控模块实操,告别人工期限疏漏,实现管理闭环!
大数据·运维·人工智能·经验分享·重构
工作10年+,存储芯片行业3 小时前
Linux NVMe 中断排查与性能优化:IRQ 优化(原理+排查)
linux·运维·性能优化·ssd·nvme·pcie·中断
geats人山人海4 小时前
linux 1.目录结构
linux·运维·服务器
应用市场4 小时前
嵌入式Linux从裸板到产品(一):全景地图与交叉编译环境,从四个上板翻车现场说
linux·运维·服务器
CIMPro孪大师4 小时前
CIMPro×DPE | 不止是爆炸动画,AI原生数字样机如何让设备培训与运维更高效
运维·ai-native
皓月盈江4 小时前
Linux系统PC与Linux系统服务器通过scp上传与下载文件
linux·运维·服务器·scp·文件上传·文件下载
对讲机数码科普4 小时前
危化厂区防爆专网通信建设实践:从合规框架到验收清单
运维·网络·架构
Ruiery5 小时前
Linux 6.6内核 CPU 启动深度解析(二):AP 拉起 — BSP 如何用 INIT-SIPI 唤醒其余 CPU
linux·运维·服务器
Lsetea5 小时前
OpenSSL verify报error 62:证书主机名不匹配与-verify_hostname排查
运维·https·ssl证书·openssl·san
rm -rf * && haha.sh5 小时前
【Linux】Rocky 9.8 操作系统磁盘分区与MySQL数据目录迁移
linux·运维·mysql