首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
青龙面板Docker版本升级:解决重启后回退旧版本的完整教程
📅 2026/9/7 18:20:49
✍️ 爱科研究院
👁 阅读 3,247
青龙面板Docker版本升级解决重启后回退旧版本的完整教程【免费下载链接】qinglong支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台Timed task management platform supporting Python3, JavaScript, Shell, Typescript项目地址: https://gitcode.com/GitHub_Trending/qi/qinglong青龙面板 Docker 版本升级中最常见的卡点你在面板里点了更新或执行了ql update界面提示成功可容器一重启登录进去版本号又变回了旧的。根源在于青龙的程序代码装在容器内部只有挂载到/ql/data的数据目录是持久的面板更新改的是容器里的代码容器重建后代码就回到镜像里的老版本。按本文步骤操作你会完成一次不丢脚本、不丢配置的版本升级并掌握升级失败时的回退方法。 动手前自查确认你的处境开始之前花两分钟确认四条后文的命令才能对上号容器在运行docker ps能看到你的青龙容器5700端口已映射默认 Web 端口。数据目录已挂载部署时把宿主机某个目录挂到了容器内/ql/data配置、脚本、日志、数据库全在这个目录下项目里 docker-compose.yml 的写法是./data:/ql/data。症状符合更新后版本号不变或容器重启/重建后回退到旧版本。网络可用宿主机能正常docker pull镜像否则会卡在第 3 步。 主路径更换镜像升级推荐思路一句话拉最新镜像、删旧容器、用同一个数据目录重建容器。数据在挂载目录里全程不会丢。第 1 步记下当前版本号升级后用来对比。docker exec qinglong cat /ql/version.yaml输出形如version: 2.21.0仓库里这个文件就是版本号的唯一来源version.yaml。第 2 步备份数据目录。升级前留一份快照出问题才回得去。# 把宿主机上挂载给 /ql/data 的目录完整复制一份-a 保留权限 cp -a ./data ./data_backup_$(date %Y%m%d)第 3 步停止并删除旧容器。删除容器不会删除挂载在外的数据目录放心执行。docker stop qinglong docker rm qinglong第 4 步拉取最新镜像。latest是最新版标签如果你之前用的是 Debian 基础版请拉whyour/qinglong:debian。docker pull whyour/qinglong:latest第 5 步用原参数重建容器。关键是-v必须指向原来的数据目录端口和容器名保持一致。docker run -dit \ --name qinglong \ -p 5700:5700 \ -v $PWD/data:/ql/data \ # 挂载原来的数据目录脚本和配置都在里面 --restart unless-stopped \ whyour/qinglong:latest启动完成后容器启动脚本会自动检测/ql/data权限、加载配置并把后台服务拉起看到日志里出现「容器启动成功」即可。 备选路径只想临时体验新版本容器内ql update适用场景不想动镜像先试新版本功能。代价是这次更新的代码只存在于当前容器容器重建后会回到镜像版本适合先试后升不适合当正式升级手段。docker exec -it qinglong ql update这条命令会自动下载新版本源码并重启内部服务不用你停容器。执行完刷新面板确认版本号和任务都正常再按主路径正式升级镜像。拿不准升级结果先给当前容器拍快照适用场景大版本跨越担心升级后回不去。docker commit会把容器当前的代码和系统状态存成镜像升级后出问题可以直接从快照恢复。docker commit qinglong qinglong_backup:$(date %Y%m%d)需要回退时删掉新容器后用快照镜像原参数重建即可docker run -dit --name qinglong -p 5700:5700 -v $PWD/data:/ql/data qinglong_backup:20260906 验证结果确认升级真的生效逐条执行全部通过才算升级完成版本号变了docker exec qinglong cat /ql/version.yaml输出的版本比升级前新同时登录面板「设置 → 关于」里显示的版本号一致。服务是健康的curl http://127.0.0.1:5700/api/health返回正常状态镜像内置的健康检查探测的正是这个接口docker ps里容器状态是Up而不是反复Restarting。数据完整用原来的账号密码登录成功任务列表、订阅、脚本数量与升级前一致ls data/scripts能看到脚本文件仍在。任务能跑在面板里手动执行一个已有任务日志页显示执行完成没有依赖报错。⚠️ 常见报错自救报错 1容器起不来日志打印「权限错误无法写入 /ql 目录」或「无法写入 /ql/data (Volume 挂载点)」。原因容器内进程的用户 UID 和宿主机数据目录属主不匹配。启动脚本docker-entrypoint.sh会先做写权限检测检测不过直接退出。处理日志里会打印当前 UID 和目录属主 UID按提示在宿主机把数据目录属主改成日志中的 UID例如chown -R 日志中的UID:$PWD/data后重启容器或按日志提示用--user指定镜像内置用户。报错 2重建容器后版本号没变还是旧版。原因docker run用了本地缓存的旧镜像即拉取失败被忽略了。处理重新docker pull whyour/qinglong:latest然后docker images whyour/qinglong核对 IMAGE ID 是否更新删容器后重建。报错 3docker pull超时提示无法连接镜像仓库。原因宿主机到镜像仓库的网络不通。处理检查代理与防火墙或在能下载镜像的机器上docker save导出、拷到目标机器docker load导入再执行主路径。报错 4升级后登录不了面板怀疑配置丢了。原因登录账号存在/ql/data/config/auth.json只要数据目录挂载正确就不会丢。多数情况是端口或QlBaseUrl部署路径如/test/环境变量的映射与升级前不一致。处理核对-p端口和QlBaseUrl环境变量与原来一致若确实忘记密码可用命令重置docker exec -it qinglong ql resetpwd 新密码用户名可用ql resetname同理重置。收尾把拉镜像、停旧容器、原参数重建容器这三步固化成习惯青龙的 Docker 升级就不再依赖面板内更新数据永远跟着挂载目录走代码永远跟着镜像走两边各管各的版本回退问题自然消失。建议每次升级前先cp -a备份数据目录、大版本跨越前docker commit留快照这两步加起来不到一分钟。下面是可直接复用的升级命令片段把./data换成你的实际数据目录即可cp -a ./data ./data_backup_$(date %Y%m%d) \ docker stop qinglong docker rm qinglong \ docker pull whyour/qinglong:latest \ docker run -dit --name qinglong -p 5700:5700 \ -v $PWD/data:/ql/data --restart unless-stopped \ whyour/qinglong:latest执行完用「验证结果」一节逐条核对确认无误后删除多余的备份目录即可。【免费下载链接】qinglong支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台Timed task management platform supporting Python3, JavaScript, Shell, Typescript项目地址: https://gitcode.com/GitHub_Trending/qi/qinglong创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/7 18:15:48
AutoGPT Classic Agent 体系深度解析:从 BaseAgent 抽象层到自定义智能体实践
2026/9/7 18:15:48
从零散语句到结构化表达的实战方法论
2026/9/7 18:15:48
Koopman算子与模型预测控制在非线性系统中的应用
2026/9/7 19:05:53
PowerToys Keyboard Manager 编辑器 UI 深度解析:XAML Island 桥接、动态行控件与快捷键校验
2026/9/7 19:05:53
大模型 API 熔断器设计:基于失败率与慢调用比例的自愈状态机
2026/9/7 19:05:53
NX二次开发:NXOpen与UFUN混合开发中TaggedObject与tag_t互转全攻略
2026/9/7 19:05:53
Immich 自托管照片与视频管理:功能矩阵、快速安装与部署配置详解
2026/9/7 19:05:53
Git标签实战:从版本发布到回滚的完整指南
2026/9/7 19:00:53
K个一组翻转链表:链表反转与指针操作的进阶实战指南
2026/9/7 0:03:59
基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现
2026/9/7 0:03:59
UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南
2026/9/7 0:03:59
BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析
2026/9/7 0:22:31
超人会飞不算本事:系统稳定依赖清晰规则与边界设计
2026/9/7 0:44:48
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
2026/9/7 1:55:33
基于CNN的调制信号识别:MATLAB实现时频图分类实战