Docker 部署
本文详细介绍如何使用 Docker 部署 Sun-Panel-Helper。
重要提示 - v2.0.5+ 版本目录变更
从 v2.0.5 版本开始,Sun-Panel-Helper 引入了新的目录结构,必须挂载 /app/backend/data
、/app/backend/backups
和 /app/backend/custom
目录。其中 data 和 backups 目录是 Helper 自己的数据目录,需要您自己创建;而 custom 目录必须指向 Sun-Panel 的 custom 目录。如果您是从旧版本升级,请参考数据迁移教程。
部署方式选择
Sun-Panel-Helper 支持两种 Docker 部署模式:
标准模式
- 最常用的部署方式
- 使用端口映射访问服务
- 适合大多数使用场景
Host 网络模式
- 直接使用主机网络
- 支持 IPv6 环境
- 适合特殊网络需求
标准模式部署
1. 拉取镜像
bash
docker pull madrays/sun-panel-helper:latest
2. 创建容器
bash
docker run -d \
--name sun-panel-helper \
-p 33002:80 \
-e BACKEND_PORT=3001 \
# 这是您自己创建的Helper数据目录,不是Sun-Panel的目录!
-v /your/helper/path/data:/app/backend/data \
# 这是您自己创建的Helper备份目录,不是Sun-Panel的目录!
-v /your/helper/path/backups:/app/backend/backups \
# 注意:这个目录必须指向Sun-Panel的custom目录,Helper通过它来控制美化Sun-Panel
-v /path/to/sunpanel/conf/custom:/app/backend/custom \
madrays/sun-panel-helper:latest
参数说明
--name sun-panel-helper
: 容器名称-p 33002:80
: 前端端口映射-e BACKEND_PORT=3001
: 后端服务端口-v /your/helper/path/data:/app/backend/data
: Helper的数据目录,必须挂载,用于保存Helper的配置数据-v /your/helper/path/backups:/app/backend/backups
: Helper的备份目录,必须挂载,用于保存自动和手动备份-v /path/to/sunpanel/conf/custom:/app/backend/custom
: 必须挂载,必须指向 Sun-Panel 的 custom 目录
Host 网络模式部署
1. 拉取镜像
bash
docker pull madrays/sun-panel-helper:latest
2. 创建容器
bash
docker run -d \
--name sun-panel-helper \
--network host \
-e BACKEND_PORT=3001 \
-e FRONTEND_PORT=33002 \
# 这是您自己创建的Helper数据目录,不是Sun-Panel的目录!
-v /your/helper/path/data:/app/backend/data \
# 这是您自己创建的Helper备份目录,不是Sun-Panel的目录!
-v /your/helper/path/backups:/app/backend/backups \
# 注意:这个目录必须指向Sun-Panel的custom目录,Helper通过它来控制美化Sun-Panel
-v /path/to/sunpanel/conf/custom:/app/backend/custom \
madrays/sun-panel-helper:latest
参数说明
--network host
: 使用主机网络-e FRONTEND_PORT=33002
: 前端监听端口-e BACKEND_PORT=3001
: 后端服务端口-v /your/helper/path/data:/app/backend/data
: Helper的数据目录,必须挂载,用于保存Helper的配置数据-v /your/helper/path/backups:/app/backend/backups
: Helper的备份目录,必须挂载,用于保存自动和手动备份-v /path/to/sunpanel/conf/custom:/app/backend/custom
: 必须挂载,必须指向 Sun-Panel 的 custom 目录
端口配置
前端端口
- 标准模式:通过
-p
参数映射,如-p 33002:80
- Host 模式:通过环境变量设置,如
-e FRONTEND_PORT=33002
后端端口
- 通过环境变量设置:
-e BACKEND_PORT=3001
- 默认值:3001
- 建议:除非端口冲突,否则保持默认值
目录挂载
必要目录
必须挂载
以下目录必须挂载,否则会导致数据丢失、备份功能无法使用或 Helper 功能无法生效!
bash
# 数据目录 - 存储Helper的用户配置和设置(您需要在本地创建此目录)
-v /your/helper/path/data:/app/backend/data
# 备份目录 - 存储Helper的自动和手动备份(您需要在本地创建此目录)
-v /your/helper/path/backups:/app/backend/backups
# Sun-Panel 的 custom 目录 - Helper 功能生效的关键
-v /path/to/sunpanel/conf/custom:/app/backend/custom
custom 目录特别说明
/app/backend/custom
必须挂载到 Sun-Panel 的 custom 目录,这是 Helper 与 Sun-Panel 交互的关键。 如果此目录挂载错误,Helper 的所有修改都不会在 Sun-Panel 中生效!
如果 Sun-Panel 的 custom 目录不存在,需要手动在 Sun-Panel 的 conf 目录下创建。
常见路径
- 标准路径:
/path/to/sunpanel/conf/
(仅针对custom目录!) - 飞牛OS:
/vol1/@appshare/sunpanel/conf/
(仅针对custom目录!) - 飞牛OS商店版请使用固定路径:
/var/apps/Sun-Panel/var/web/custom
(仅针对custom目录!) - Helper的data和backups目录建议放在易于管理的位置,例如:
/docker/sunpanel-helper/data
和/docker/sunpanel-helper/backups
权限要求
- 确保目录存在
- 具有读写权限
- 正确的所有者和权限设置
容器管理
查看容器状态
bash
docker ps -a | grep sun-panel-helper
查看容器日志
bash
docker logs sun-panel-helper
重启容器
bash
docker restart sun-panel-helper
停止容器
bash
docker stop sun-panel-helper
删除容器
bash
docker rm sun-panel-helper
常见问题
1. 端口被占用
bash
# 查看端口占用
netstat -tunlp | grep 33002
# 或
lsof -i :33002
# 更换端口
-p 33003:80 # 标准模式
-e FRONTEND_PORT=33003 # Host模式
2. 目录权限问题
bash
# 修改目录权限(这里的目录路径应该是您实际创建的路径)
chmod -R 755 /your/helper/path/data
chmod -R 755 /your/helper/path/backups
chmod -R 755 /path/to/sunpanel/conf/custom
3. Helper 功能不生效
检查 custom 目录是否正确挂载到 Sun-Panel 的 custom 目录。确保:
- custom 目录路径正确指向 Sun-Panel 的 conf/custom 目录
- Sun-Panel 可以访问此目录(权限正确)
- 如果 Sun-Panel 的 custom 目录不存在,需要手动创建
4. 数据迁移问题
如果您是从 v2.0.4 或更早版本升级,请参考数据迁移教程。