本文软件由网友 rui
推荐;
什么是 DPanel ?
DPanel
是一款 Docker
可视化管理面板,旨在简化 Docker
容器、镜像和文件的管理。它提供了一系列功能,使用户能够更轻松地管理和部署 Docker
环境。
软件特点:
- 可视化管理:提供直观的用户界面,方便用户管理
Docker
容器和镜像。 - 容器管理:用户可以创建、启动、停止和删除容器,查看容器日志和状态。
- 镜像管理:支持镜像的拉取、推送、构建和删除等操作。
- Compose 支持:可以创建和部署
Docker Compose
项目,简化多容器应用的管理。 - 容器关联:提供容器之间的关联功能,便于多个容器之间的互相依赖访问。
- 镜像构建:提供多种环境的基础镜像和模板,可以快速构建属于自己的镜像。
安装
在群晖上以 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
更快捷
# 新建文件夹 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
文件
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
:用于指定用户名;
然后执行下面的命令
# 新建文件夹 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
@所有人:写文不易,如果你都看到了这里,请点个赞
和在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。