直接用新二进制文件替换旧的 docker 可执行文件即可,关键是要确保路径、权限、用户组和 CLI 插件兼容性不受影响;需先通过 which docker 和 docker version --client 确认安装方式与来源,再下载官方静态包解压替换,备份旧文件、设可执行权限,并同步升级相关 CLI 插件。

直接用新二进制文件替换旧的 docker 可执行文件即可,关键是要确保路径、权限、用户组和 CLI 插件兼容性不受影响。
确认当前安装方式和路径
先判断你是否为二进制方式安装(而非 apt/yum 或 Docker Desktop):
- 运行
which docker,常见路径是/usr/local/bin/docker或/usr/bin/docker - 执行
docker version --client查看当前客户端版本和安装来源 - 若输出中
GitCommit和BuildTime明确,基本可确认是二进制部署
下载并校验新版二进制包
从官方 GitHub Releases 页面获取对应平台的静态二进制包(如 docker-26.1.4.tgz),推荐使用 curl 直接拉取:
- 访问 https://www.php.cn/link/66f5e988e263a467ffc5c2110e4a0ea4,找最新 stable 版本(注意选
docker-x.x.x.tgz,不是docker-ce的 deb/rpm 包) - 下载后解压:
tar -xvzf docker-*.tgz,会得到docker/docker文件 - 建议验证 SHA256(官网 release 页面提供校验值):
sha256sum docker/docker
安全覆盖并验证
停掉可能正在使用的 Docker CLI 进程(无需停止 daemon),然后替换:
- 备份旧文件:
sudo cp /usr/local/bin/docker /usr/local/bin/docker.bak - 复制新文件:
sudo cp docker/docker /usr/local/bin/docker - 确保可执行权限:
sudo chmod +x /usr/local/bin/docker - 检查用户组(尤其当用
docker命令报permission denied):ls -l /usr/local/bin/docker,应属root:root,且不依赖额外 group - 验证:
docker version --client应显示新版本;docker info | head -n 3确认 client/server 能正常通信
留意 CLI 插件兼容性
如果你用了 docker-compose、buildx、scan 等插件,它们通常放在 ~/.docker/cli-plugins/ 或 /usr/local/lib/docker/cli-plugins/:
- 新版 Docker 客户端对插件 API 有向后兼容要求,但某些旧插件(如老版本
buildx)可能报incompatible - 建议同步升级常用插件:例如
docker buildx install或手动下载匹配新版的docker-buildx二进制 - 插件不升级一般不影响基础命令(
run、ps、pull),仅相关子命令失效


















