Windows 10 安装 Docker Desktop 完整教程(含常见问题排查)

Windows 10 安装 Docker Desktop 完整教程(含常见问题排查)

一、步骤顺序

  1. 安装并启用 WSL 2
  2. 安装 Linux 发行版(如 Ubuntu)
  3. 安装 Docker Desktop
  4. 解决安装过程中常见报错
  5. 验证 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 后:

  1. 打开桌面上的 Docker Desktop
  2. 或在开始菜单中打开 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。


相关推荐
IT菜鸟程1 小时前
2026 年 Docker 镜像加速终极方案:告别拉取卡顿,一键提速
运维·docker·容器
木雷坞1 小时前
K8s 部署 AI 推理服务检查:GPU、探针、镜像和回滚
人工智能·容器·kubernetes
扬帆破浪2 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:装一台到家用台式 把工作笔记本的对话历史迁过去
人工智能·windows·电脑·知识图谱
我是谁??2 小时前
ubuntu22.04在线安装docker和nvidia-container-toolkit
git·docker·github
云游牧者2 小时前
K8S灰度发布与蓝绿部署实战指南-CSDN博客
运维·云原生·容器·kubernetes·发布策略
承渊政道2 小时前
极空间NAS部署Photopea:私有在线修图工作站,手机平板随时编辑
安全·docker·容器·ip·访问者模式·photoshop·持续部署
最幸伏的人2 小时前
PyCharm无限创建Python进程故障总结
windows·python·pycharm
花间相见2 小时前
【Docker】—— Docker常用操作与指令大全
spring cloud·docker·eureka
kanyun1232 小时前
在Docker容器中运行Docker:Docker-in-Docker(DinD)全面指南
运维·docker·容器