Windows Home环境下Docker创建镜像时WSL 1提示docker命令不存在求助
你遇到的报错信息如下:
The command 'docker' could not be found in this WSL 1 distro.
We recommend to convert this distro to WSL 2 and activate
the WSL integration in Docker Desktop settings.
翻译参考:
当前WSL 1发行版中找不到 'docker' 命令,建议将该发行版转换为WSL 2,并在Docker Desktop设置中启用WSL集成。
该问题和Windows Home系统没有直接冲突,Windows Home完全支持Docker Desktop + WSL2的运行环境,按照以下步骤排查即可:
步骤1:确认当前WSL版本
打开Windows终端/CMD,执行命令:wsl -l -v
查看输出中Ubuntu 18.04对应的VERSION列,如果值为1,即可确认问题根源是当前WSL实例为WSL1版本,不支持Docker Desktop的直接集成。
步骤2:将WSL1实例转换为WSL2
- 先开启Windows虚拟机平台功能,以管理员身份运行CMD,执行命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完成后重启电脑。 - 安装WSL2 Linux内核更新包,完成后重启系统。
- 执行WSL版本转换命令:
wsl --set-version Ubuntu-18.04 2
转换过程需要数分钟时间,过程中不要中断操作,建议提前备份WSL内的重要数据避免丢失。
步骤3:开启Docker Desktop WSL集成
打开Docker Desktop设置界面,依次进入「Resources」-「WSL Integration」菜单,打开Ubuntu 18.04对应的集成开关,点击「Apply & Restart」等待Docker Desktop重启完成。
步骤4:验证配置生效
打开Ubuntu 18.04终端,分别执行以下命令:docker --versiondocker compose version
如果两条命令都能正常输出版本信息,说明配置已完成,即可正常运行你的Python Docker应用。
异常排查
如果执行版本转换时报错,按以下项检查:
- 确认BIOS已经开启虚拟化功能:打开任务管理器-性能-CPU页面,查看「虚拟化」状态是否为已启用,未启用的话重启电脑进入BIOS开启Intel VT-x/AMD-V选项。
- 确认系统版本符合要求:Windows 10需要升级到2004及以上版本,Windows 11无版本限制。
内容的提问来源于stack exchange,提问作者CaesarB123

