docker不小心升级到了最新版,提示API过低

不小心把docker升级到了最新版(29.0.1),然后在一些地方操作(删除编排、构建运行环境等)时,提示:

服务内部错误: stderr: Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version

如何能将docker降级到28.1.1?系统:debian11,1panel版本:v1.10.32-lts

建议还是升级 v2

v2可以直接在v1上升级,不需要全新安装是吧?之前的数据会不会有影响?

会有一定的影响 具体你升级的时候有提示
如果确实担心 可以问一下 AI 怎么降级

升级失败,提示查看日志,请问日志路径是?

是否确认升级到 v2.0.12-offline? [y/N]: y
开始停止服务…
服务已停止
开始备份文件…
备份完成,目录:/opt/1panel/tmp/upgrade/v2.0.12-offline/original
开始升级文件…
升级文件已替换
正在重启服务…
检查服务状态并更新版本号…
启动 1Panel 服务时出错,请检查日志!

用AI写了个降级脚本,不用升级了。代码如下:

#!/bin/bash

set -e

TARGET_VER="5:28.1.1-1~debian.11~bullseye"

echo "=== 1. 卸载当前 Docker ==="
apt remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin || true
apt autoremove -y || true

echo "=== 2. 更新软件源 ==="
apt update

echo "=== 3. 查看兼容版本的 containerd.io ==="
CONTAINERD_VER=$(apt-cache madison containerd.io | head -n 1 | awk '{print $3}')
echo "检测到 containerd.io 版本: $CONTAINERD_VER"

echo "=== 4. 安装 Docker 28.1.1 ==="
apt install -y \
  docker-ce=${TARGET_VER} \
  docker-ce-cli=${TARGET_VER} \
  containerd.io=${CONTAINERD_VER} \
  docker-buildx-plugin \
  docker-compose-plugin

echo "=== 5. 锁定版本,避免被自动升级 ==="
apt-mark hold docker-ce docker-ce-cli containerd.io

echo "=== 6. 验证 Docker 版本 ==="
docker --version

echo "=== 完成:Docker 已成功降级并锁定为 28.1.1 ==="

注意:执行前需要在面板中把docker服务停掉。