社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

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

各种折腾 • 2 周前 • 73 次点击  

本文软件由网友 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.sock 是 Docker 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

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/175662
 
73 次点击