纸上得来终觉浅,绝知此事要躬行
准备工作
- 系统要求:
Windows 11 64位(家庭版/专业版/企业版)。
需启用 WSL 2(Windows Subsystem for Linux 2) 或 Hyper-V(专业版支持)。
虚拟化已启用(需在 BIOS 中设置)。
- 检查虚拟化是否启用:
按
Ctrl + Shift + Esc
打开任务管理器 → 切换到“性能”选项卡 → 查看“虚拟化”是否已启用。
若未启用,需进入 BIOS 开启虚拟化技术(通常为 Intel VT-x 或 AMD-V)。
安装步骤
1. 启用 WSL 2(推荐)
以管理员身份打开 PowerShell 并运行:
wsl --install
重启电脑后,WSL 2 会自动安装默认的 Linux 发行版(如 Ubuntu)。
手动设置 WSL 2 为默认版本:
wsl --set-default-version 2
2. 下载 Docker Desktop
- 访问官方下载页面:https://www.docker.com/products/docker-desktop
- 点击 Download for Windows 获取安装包(
.exe
文件)。
3. 安装 Docker Desktop
- 双击下载的
.exe
文件运行安装向导。 - 安装过程中勾选以下选项(如有):
- Use WSL 2 instead of Hyper-V(推荐)。
- Add shortcut to desktop(可选)。
- 完成安装后点击 Close。
4. 启动 Docker Desktop
- 首次启动时会提示接受服务条款。
- 等待 Docker 启动(状态栏图标显示绿色“Docker Desktop is running”)。
验证安装
打开命令行(CMD/PowerShell)运行:
docker --version docker run hello-world
- 如果看到欢迎消息,说明安装成功。
检查 WSL 集成:
- 打开 Docker Desktop → Settings → Resources → WSL Integration。
- 确保已启用你的 Linux 发行版(如 Ubuntu)。
常见问题解决
Docker 启动失败:
确保虚拟化和 WSL 2 已启用。
尝试在 PowerShell 中重置 Docker:
wsl --shutdown
然后重启 Docker Desktop。
WSL 2 安装问题:
- 手动下载 WSL 2 内核更新包:微软官方文档。
家庭版无法使用 Hyper-V:
- 需通过 WSL 2 运行 Docker,或升级到专业版。
注意事项
- Docker Desktop 默认使用 Windows 容器,如需切换为 Linux 容器,右键任务栏 Docker 图标 → Switch to Linux containers。
- 建议分配足够资源给 Docker(在 Settings → Resources 中调整 CPU/内存)。
完成以上步骤后,即可在 Windows 11 上使用 Docker Desktop 运行容器
安装过程并不是特别顺利,遇到的问题如下:
1、wsl切换版本2后,执行 wsl --install
一直会报错
PS C:\WINDOWS\system32> wsl --install
正在下载: Ubuntu
正在安装: Ubuntu
当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
我排除了bios/Hyper-V/虚拟机平台等等问题,高低就是不行。我想到是不是其他虚拟化软件和wsl冲突了,查询资料之后发现可能是VMWARE影响了WSL的安装,笔者把VMWARE卸载重启之后,此问题终于得以解决。
2、拉docker镜像拉不下来,Docker Desktop默认的国外镜像地址请求特别慢,更换成国内的就可以了:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://gikelf1h.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.m.daocloud.io",
"https://hub.geekery.cn",
"https://hub.littlediary.cn",
"https://docker.rainbond.cc",
"https://docker.unsee.tech",
"https://hub.crdz.gq",
"https://docker.nastool.de",
"https://hub.firefly.store",
"https://registry.dockermirror.com",
"https://docker.1panelproxy.com",
"https://hub.rat.dev",
"https://docker.udayun.com",
"https://docker.kejilion.pro",
"https://dhub.kubesre.xyz",
"https://docker.1panel.live",
"https://dockerpull.org",
"https://docker.hlmirror.com"
]
}