Windows与Rancher Desktop VM中Docker版本不一致问题及升级咨询
问题
在Windows 11上全新安装Rancher Desktop(未预装Docker/Docker Desktop),选择dockerd运行时。出现以下版本差异:
- Windows PowerShell中执行
docker --version显示版本为24.0.6 - 进入Rancher Desktop虚拟机(通过
rdctl shell)执行docker --version显示版本为23.0.6 - 两者中
docker-compose --version均为2.21.0
咨询两个问题:
- 为何Docker版本不一致?按预期应该相同才对?
- 是否可将Rancher Desktop提供的Docker升级至最新版24.0.7、docker-compose升级至2.23.0?若可以,如何操作?
解答
1. Docker版本不一致的原因
Rancher Desktop采用主机端CLI+虚拟机内服务端的分离架构:
- Windows PowerShell里的
docker是运行在Windows主机上的客户端工具,负责和虚拟机内的Docker服务端(dockerd)通信 - 虚拟机内的
docker是服务端自带的配套CLI,和dockerd版本完全一致
Docker客户端与服务端遵循版本兼容规则,只要主版本匹配或处于兼容区间,就能正常交互,不需要完全同版本。Rancher Desktop在打包时会选用经过测试的兼容版本组合,因此主机端CLI和虚拟机内服务端版本不同是正常设计,并非故障。
2. 升级Docker及docker-compose的方法
Rancher Desktop的组件是预打包整合的,官方优先推荐升级Rancher Desktop本身来获取更新的Docker、docker-compose版本,这样能保证组件间的兼容性和稳定性。如果一定要手动升级,可参考以下步骤,但需注意可能引发兼容性问题:
升级Windows主机端的Docker CLI和docker-compose
- 获取对应版本的Windows平台
docker.exe和docker-compose.exe二进制文件 - 找到Rancher Desktop默认安装目录:
C:\Program Files\Rancher Desktop\resources\resources\win32\bin - 备份原文件后,替换目录中的
docker.exe和docker-compose.exe - 重启Rancher Desktop,在PowerShell中验证版本:
docker --version、docker-compose --version
升级虚拟机内的Docker服务端和docker-compose
- 进入Rancher Desktop虚拟机:执行
rdctl shell - 更新系统包索引:
sudo apt update - 升级Docker服务端:
# 先查看可用的Docker CE版本列表 apt list -a docker-ce # 安装指定的24.0.7版本,替换为实际可用的包版本号 sudo apt install docker-ce=5:24.0.7-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.7-1~ubuntu.22.04~jammy containerd.io - 升级docker-compose:
- 获取对应v2.23.0版本的Linux平台docker-compose二进制文件
- 将文件复制到虚拟机的
/usr/local/bin目录 - 赋予执行权限:
sudo chmod +x /usr/local/bin/docker-compose
- 重启Docker服务:
sudo systemctl restart docker - 验证版本:
docker --version、docker-compose --version
注意:手动升级虚拟机内组件可能导致Rancher Desktop的管理功能异常(如端口映射、镜像同步等),出现问题时可通过Rancher Desktop设置重置虚拟机恢复默认配置。
内容的提问来源于stack exchange,提问作者ISimion
相关产品推荐
相关产品推荐

