Windows 10 + Hyper-V + Docker 完整配置指南(解决旧系统/旧 WSL 内核问题)
这版本是包能用的版本,亲自尝试,上篇收到了几个点赞,索性自己用ai整理下完整流程给各位win10用户,可参考!!!有问题反馈我,看到了就想办法解决.
一、适用场景
- Windows 10 系统(无法升级 Win11),WSL 2 内核版本较低(如 5.10.x,不满足 Docker WSL 2 引擎要求);
- 想使用 Docker,但遇到“镜像拉取失败、WSL 内核兼容、systemctl 报错”等问题;
- 优先使用 Hyper-V 引擎(绕开 WSL 内核限制,Windows 10 原生支持)。
二、前置条件
三、Step 1:启用 Hyper-V(Docker 依赖的虚拟化技术)
情况 1:Windows 10 专业版/企业版/教育版(直接启用)
情况 2:Windows 10 家庭版(手动开启 Hyper-V)
家庭版默认隐藏 Hyper-V 选项,需通过命令启用:
pushd "%~dp0"
dir /b %SystemRoot%\\servicing\\Packages\\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\\servicing\\Packages\\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
验证 Hyper-V 是否启用成功
四、Step 2:安装适配的 Docker Desktop 版本
由于 Windows 10 及旧 WSL 内核限制,需安装 Docker Desktop 4.23.0 版本(兼容性最好,无需高内核版本):
- 链接:https://download.docker.com/win/stable/4.23.0/Docker%20Desktop%20Installer.exe
- 取消勾选「Use WSL 2 instead of Hyper-V」(默认可能勾选,必须取消,后续手动切换);
- 勾选「Add shortcut to desktop」(可选,添加桌面快捷方式);
- 点击「OK」,等待安装完成(约 2-3 分钟);
验证 Docker 安装成功
docker —version
- 若输出 Docker version 24.0.7, build afdd53b(版本号可能略有差异),说明安装成功。
五、Step 3:配置国内镜像源(解决拉取镜像失败)
Docker 默认镜像仓库(Docker Hub)在国外,需替换为国内公开镜像源,无需登录,速度快:
{
"registry-mirrors": [
"https://dockerproxy.com", // 国内通用镜像源
"https://docker.mirrors.ustc.edu.cn", // 中科大镜像源(稳定)
"https://hub-mirror.c.163.com", // 网易云镜像源(公开)
"https://reg-mirror.qiniu.com", // 七牛云镜像源(高速)
"https://docker.m.daocloud.io" // DaoCloud 镜像源(备用)
],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true // 启用 BuildKit 加速镜像构建(可选)
}
}
六、Step 4:切换 Docker 引擎为 Hyper-V(绕开 WSL 内核限制)
确保 Docker 不依赖 WSL 2 内核,使用 Hyper-V 引擎运行:
七、Step 5:测试 Docker 功能(最终验证)
通过 hello-world 镜像测试 Docker 是否能正常拉取和运行:
方法 1:Windows PowerShell 测试
docker run hello–world
- 终端输出「Hello from Docker!」,并显示 Docker 工作流程说明(如前文你的成功输出);
- 说明镜像拉取成功,容器正常运行,Docker 环境完全可用。
方法 2:WSL 终端测试(若需在 WSL 中使用 Docker)
docker run hello-world
- 若同样输出「Hello from Docker!」,说明 WSL 终端已关联 Docker 引擎,可在 WSL 中直接操作 Docker。
八、常见问题排查
1. Docker 启动失败(鲸鱼图标转圈后报错)
- 原因:Hyper-V 未启用或未重启电脑;
- 解决:重新执行「Step 1 启用 Hyper-V」,确保重启电脑后再启动 Docker。
2. 拉取镜像超时/域名解析失败
- 原因:镜像源配置错误或网络问题;
- 解决:检查「Step 3 镜像源配置」的 JSON 格式(无语法错误),替换 1-2 个备用镜像源,重启 Docker 后重试。
3. WSL 终端执行 docker 命令报错「command not found」
- 原因:WSL 未关联 Docker 引擎;
- 解决:确保 Docker Desktop 已启动,在 WSL 终端执行以下命令(临时关联):
export PATH="$PATH:/mnt/c/Program Files/Docker/Docker/resources/bin"
- 永久关联:编辑 WSL 配置文件 ~/.bashrc,添加上述命令,执行 source ~/.bashrc 生效。
4. 执行 docker run hello-world 报错「permission denied」
- 原因:未以管理员身份运行终端;
- 解决:关闭终端,以「管理员身份」重新打开 PowerShell 或 WSL 终端,再执行命令。
九、常用 Docker 基础命令(后续使用)
| 查看 Docker 版本 | docker –version |
| 拉取镜像(示例:nginx) | docker pull nginx |
| 查看本地镜像 | docker images |
| 运行容器(示例:nginx) | docker run -d -p 80:80 nginx(后台运行,映射 80 端口) |
| 查看运行中的容器 | docker ps |
| 停止容器 | docker stop 容器ID(容器ID通过 docker ps 获取) |
| 删除容器 | docker rm 容器ID |
| 删除镜像 | docker rmi 镜像ID(镜像ID通过 docker images 获取) |
十、总结
本指南针对 Windows 10 系统+旧 WSL 内核的场景,核心逻辑是:
最终通过 docker run hello-world 验证成功后,即可正常使用 Docker 部署 Nginx、MySQL、Redis 等应用,无需担心内核兼容和网络问题。如果后续需要升级系统,可参考 Win11 配置方案,获得更完善的 WSL + Docker 集成体验。





