Windows 10 安装 Docker Desktop 完整教程(含常见问题排查)
一、步骤顺序
- 安装并启用 WSL 2
- 安装 Linux 发行版(如 Ubuntu)
- 安装 Docker Desktop
- 解决安装过程中常见报错
- 验证 Docker 是否安装成功
二、安装前准备
1. 操作系统要求
建议使用:
- Windows 10 64 位
- 建议较新的系统版本(如 22H2)
- 已开启 BIOS 虚拟化
2. 建议提前确认的内容
(1)确认 CPU 虚拟化已开启
打开:
任务管理器性能CPU
查看右下角是否显示:
- 虚拟化:已启用
如果未启用,需要进 BIOS 开启:
- Intel:
VT-x / Virtualization Technology - AMD:
SVM / AMD-V
三、第一步:安装 WSL 2
1. 以管理员身份打开 PowerShell
在开始菜单搜索:
powershell
PowerShell
右键选择:
text
以管理员身份运行
2. 执行 WSL 安装命令
执行:
powershell
wsl --install --no-distribution
这一步的作用是:
- 安装 WSL 必要组件
- 但不自动安装 Linux 发行版
3. 可能遇到的问题 1:WSL 组件未启用
现象
执行 wsl -l -v 后报错,提示类似:
text
适用于 Linux 的 Windows 子系统可选组件未启用
错误代码: Wsl/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED

图 1:WSL 可选组件未启用导致
wsl -l -v执行失败
原因
说明 Windows 里的以下组件还没有启用:
- 适用于 Linux 的 Windows 子系统
- 虚拟机平台
解决方法
以管理员身份执行:
powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后:
- 重启电脑
重启后再执行:
powershell
wsl -l -v
四、第二步:安装 Linux 发行版
当 WSL 组件启用成功后,再执行:
powershell
wsl -l -v
可能遇到的问题 2:没有安装任何发行版
现象
PowerShell 提示类似:
text
适用于 Linux 的 Windows 子系统没有已安装的分发。
可通过安装命令安装分发。
使用"wsl.exe --list --online"列出可用分发
和"wsl.exe --install <Distro>"进行安装。

图 2:WSL 已安装成功,但尚未安装 Linux 发行版
原因
WSL 组件已经正常了,但系统里还没有安装 Ubuntu / Debian 等 Linux 系统。
解决方法
先查看可安装发行版:
powershell
wsl --list --online
然后安装 Ubuntu:
powershell
wsl --install -d Ubuntu
如果想指定版本,也可以:
powershell
wsl --install -d Ubuntu-22.04
安装完成后,首次启动 Ubuntu 时会提示设置:
- Linux 用户名
- Linux 密码
- 这个密码输入时不会显示,正常输入然后回车即可。
3. 验证发行版是否安装成功
执行:
powershell
wsl -l -v
正常会看到类似:
text
NAME STATE VERSION
Ubuntu Stopped 2
如果版本不是 2,可执行:
powershell
wsl --set-default-version 2
wsl --set-version Ubuntu 2
五、第三步:安装 Docker Desktop
1. 下载 Docker Desktop 安装包
双击安装程序,或者右键选择:
text
以管理员身份运行

2. 安装配置项怎么选
安装过程中会出现配置界面。
推荐勾选方式
Use WSL 2 instead of Hyper-V→ 勾选Allow Windows Containers to be used with this installation→ 不要勾选Add shortcut to desktop→ 可选,一般 勾选

图 3:Docker Desktop 安装配置推荐选项
3. 为什么中间那个不用勾选?
中间这个选项:
text
Allow Windows Containers to be used with this installation
表示启用 Windows 容器。
一般开发中常用的镜像,例如:
- Nginx
- MySQL
- Redis
- Node.js
- Java
- Python
- MongoDB
这些都是 Linux 容器,所以通常:
- 不需要勾选
只有在需要运行 Windows 容器时才勾选,比如:
- IIS
- .NET Framework 老项目
- Windows Server Core 容器
六、第四步:安装 Docker 时可能遇到的问题
可能遇到的问题 3:Docker Desktop installation failed
现象
安装时报错:
text
Docker Desktop installation failed.
For security reasons C:\ProgramData\DockerDesktop must be owned by an elevated account
Docker Desktop 安装失败,提示 ProgramData\DockerDesktop 权限异常
原因
通常是以下原因之一:
- 之前装过 Docker,残留目录权限异常
C:\ProgramData\DockerDesktop被手动创建过- 目录所有者或权限不符合安装要求
解决方法
以管理员身份打开 PowerShell,执行:
powershell
takeown /F "C:\ProgramData\DockerDesktop" /R /D Y
icacls "C:\ProgramData\DockerDesktop" /grant *S-1-5-32-544:F /T
rmdir /S /Q "C:\ProgramData\DockerDesktop"
如果需要,也可以顺便清理残留目录:
powershell
rmdir /S /Q "C:\ProgramData\Docker"
rmdir /S /Q "$env:LOCALAPPDATA\Docker"
rmdir /S /Q "$env:APPDATA\Docker"
然后:
- 重新运行 Docker 安装程序
- 并选择 以管理员身份运行
七、第五步:安装完成后的操作
安装成功后,会看到提示:
text
Installation succeeded
You must log out of Windows to complete installation.
界面上会有按钮:
text
Close and log out
Docker Desktop 安装成功,需注销当前 Windows 用户
正确操作
点击:
text
Close and log out
系统会:
- 注销当前 Windows 用户
- 重新登录后,Docker 权限和用户组设置才会生效
八、第六步:启动 Docker Desktop
重新登录 Windows 后:
- 打开桌面上的
Docker Desktop - 或在开始菜单中打开
Docker Desktop
首次启动时,等待其初始化完成。
如何判断 Docker 已正常启动
看到界面左下角显示:
text
Engine running
说明 Docker 引擎已经正常运行。
Docker Desktop 启动成功,Engine running 表示引擎运行正常
九、第七步:验证 Docker 是否安装成功
可以在 PowerShell 里执行:
powershell
docker version
再执行:
powershell
docker run hello-world
如果输出类似:
text
Hello from Docker!
说明 Docker 已安装成功。
十、第八步:为什么 hello-world 不能用浏览器访问?
1. 现象
你在 Docker Desktop 中可以看到 hello-world 容器,但浏览器无法访问它。
原因
hello-world 只是一个测试镜像,它的作用是:
- 验证 Docker 能否正常运行
- 输出一段测试信息后退出
它 不是 Web 服务,因此:
- 没有页面
- 没有端口映射
- 无法通过浏览器访问
十一、第九步:运行一个可访问的 Web 容器(以 Nginx 为例)
1. 启动 nginx 容器
执行:
powershell
docker run -d --name my-nginx -p 8080:80 nginx
参数说明:
-d:后台运行--name my-nginx:容器名称-p 8080:80:把本机 8080 端口映射到容器 80 端口nginx:使用 nginx 镜像
2. 浏览器访问
打开浏览器,输入:
text
http://localhost:8080
如果看到:
text
Welcome to nginx!
说明:
- Docker 运行正常
- 端口映射成功
- 浏览器已成功访问容器内服务
3. 查看正在运行的容器
执行:
powershell
docker ps
如果看到类似:
text
my-nginx nginx 0.0.0.0:8080->80/tcp
说明容器运行正常且端口已暴露。
十二、常用 Docker 命令
1. 查看运行中的容器
powershell
docker ps
2. 查看所有容器
powershell
docker ps -a
3. 查看镜像
powershell
docker images
4. 停止容器
powershell
docker stop my-nginx
5. 删除容器
powershell
docker rm my-nginx
6. 删除测试容器
比如之前的 hello-world 容器可以删除:
powershell
docker rm 容器名或容器ID
十三、安装过程中的问题总结
下面是本次安装过程中真实遇到的问题及对应结论。
问题 1:wsl -l -v 报 WSL 组件未启用
现象
提示:
text
Wsl/WSL_E_WSL_OPTIONAL_COMPONENT_REQUIRED
结论
Windows 尚未启用:
- 适用于 Linux 的 Windows 子系统
- 虚拟机平台
处理方式
执行:
powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启。
问题 2:WSL 已安装,但没有发行版
现象
提示:
text
适用于 Linux 的 Windows 子系统没有已安装的分发
结论
WSL 组件已经没问题,只缺 Ubuntu 之类的 Linux 发行版。
处理方式
执行:
powershell
wsl --install -d Ubuntu
问题 3:Docker Desktop 安装失败,目录权限错误
现象
提示:
text
C:\ProgramData\DockerDesktop must be owned by an elevated account
结论
Docker 安装目录权限异常,需要删除旧目录并重新安装。
处理方式
执行:
powershell
takeown /F "C:\ProgramData\DockerDesktop" /R /D Y
icacls "C:\ProgramData\DockerDesktop" /grant *S-1-5-32-544:F /T
rmdir /S /Q "C:\ProgramData\DockerDesktop"
然后以管理员身份重新安装。
问题 4:安装配置界面中间选项是否需要勾选
结论
一般情况下:
- 不要勾选
因为普通开发使用的是 Linux 容器,不需要 Windows 容器。
问题 5:Docker 安装成功后下一步做什么
结论
点击:
text
Close and log out
注销 Windows 后重新登录,再启动 Docker Desktop。