🛠️ 完整更新步骤
第一步:防呆备份(强烈建议)
在动手之前,我们先给数据做一个备份,以防万一出现手滑误操作。在你的 WSL 终端运行:
# 强制删除已有残缺备份目录 sudo rm -rf /home/ldd/sub2api-deploy/data_backup # 重新完整复制 sudo cp -r /home/ldd/sub2api-deploy/data /home/ldd/sub2api-deploy/data_backup这会在同级目录下生成一个data_backup文件夹。更新成功后,如果一切正常,你可以随时将它删除。
第二步:执行更新
根据你文件夹的命名sub2api-deploy来看,99% 的概率你当时使用的是docker-compose进行部署的。请优先尝试方案 A;如果行不通,再使用方案 B。
方案 A:使用 Docker Compose 更新(最有可能)如果你当初是通过docker-compose.yml部署的,更新过程极其简单。请依次运行以下命令:
进入部署目录:
cd /home/ldd/sub2api-deploy拉取最新镜像:
docker-compose pull重启并应用更新(这一步会自动销毁旧容器并用新镜像启动新容器,无缝衔接):Bash
docker-compose up -d
方案 B:使用纯 Docker 命令更新(手动模式)如果你运行方案 A 时提示找不到docker-compose.yml文件,说明你当初是纯手敲命令运行的。请按以下步骤操作:
获取旧容器的镜像名和端口信息:
Bashdocker inspect sub2api --format='镜像: {{.Config.Image}}' docker port sub2api请记下输出的镜像名称(例如
xxx/sub2api:latest)以及端口映射(例如0.0.0.0:25500代表你暴露在外部的端口是 25500)。拉取最新镜像(将
Bash<镜像名>替换为刚查到的名称):docker pull <镜像名>停止并删除旧容器(别怕,数据已备份且挂载在外部):
Bashdocker stop sub2api docker rm sub2api启动新容器(请将
Bash<宿主机端口>和<镜像名>替换为你刚才查到的信息,容器内部端口通常为 25500):docker run -d \ --name sub2api \ -p <宿主机端口>:25500 \ -v /home/ldd/sub2api-deploy/data:/app/data \ --restart unless-stopped \ <镜像名>
更新完成后,你可以通过浏览器或客户端重新访问sub2api,检查数据是否完好如初并且版本已更新。