Win11安装WSL、Docker Desktop

纸上得来终觉浅,绝知此事要躬行

准备工作

  1. 系统要求

    • Windows 11 64位(家庭版/专业版/企业版)。

    • 需启用 WSL 2(Windows Subsystem for Linux 2)Hyper-V (专业版支持)。

    • 虚拟化已启用(需在 BIOS 中设置)。

  2. 检查虚拟化是否启用

    • Ctrl + Shift + Esc 打开任务管理器 → 切换到"性能"选项卡 → 查看"虚拟化"是否已启用。

    • 若未启用,需进入 BIOS 开启虚拟化技术(通常为 Intel VT-xAMD-V)。


安装步骤

1. 启用 WSL 2(推荐)
  • 以管理员身份打开 PowerShell 并运行:

    powershell 复制代码
    wsl --install
  • 重启电脑后,WSL 2 会自动安装默认的 Linux 发行版(如 Ubuntu)。

  • 手动设置 WSL 2 为默认版本:

    powershell 复制代码
    wsl --set-default-version 2
2. 下载 Docker Desktop
3. 安装 Docker Desktop
  • 双击下载的 .exe 文件运行安装向导。
  • 安装过程中勾选以下选项(如有):
    • Use WSL 2 instead of Hyper-V(推荐)。
    • Add shortcut to desktop(可选)。
  • 完成安装后点击 Close
4. 启动 Docker Desktop
  • 首次启动时会提示接受服务条款。
  • 等待 Docker 启动(状态栏图标显示绿色"Docker Desktop is running")。

验证安装

  1. 打开命令行(CMD/PowerShell)运行:

    bash 复制代码
    docker --version
    docker run hello-world
    • 如果看到欢迎消息,说明安装成功。
  2. 检查 WSL 集成:

    • 打开 Docker Desktop → SettingsResourcesWSL Integration
    • 确保已启用你的 Linux 发行版(如 Ubuntu)。

常见问题解决

  1. Docker 启动失败

    • 确保虚拟化和 WSL 2 已启用。

    • 尝试在 PowerShell 中重置 Docker:

      powershell 复制代码
      wsl --shutdown

      然后重启 Docker Desktop。

  2. WSL 2 安装问题

  3. 家庭版无法使用 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一直会报错

bash 复制代码
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默认的国外镜像地址请求特别慢,更换成国内的就可以了:

json 复制代码
{
  "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"
  ]
}
相关推荐
Dovis(誓平步青云)4 分钟前
《Linux CPU频率为何忽高忽低:cpufreq、idle状态与性能抖动教程》
linux·运维·服务器·spring boot·后端·生成对抗网络
小此方23 分钟前
Re:Linux系统篇(四十三)信号篇·一:谁在敲进程的门?一篇带你了解信号概念与产生机制
linux·运维·驱动开发
Championship.23.247 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
风123456789~9 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
其实防守也摸鱼10 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
Darkwanderor12 小时前
对Linux的进程控制的研究
linux·运维·c++
小兔崽子去哪了13 小时前
Docker 删除镜像后磁盘空间没有释放?
后端·docker·容器
爱网络爱Linux15 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
MindUp15 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
Zhu75815 小时前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器