在 Windows 11 上跑 Docker 最省心的组合是:WSL2 + Docker Desktop(WSL2 后端)。开始前先做两件事:
(1)确认已开启虚拟化:BIOS/UEFI 里打开 Intel VT-x / AMD-V;系统里“启用或关闭 Windows 功能”勾选 虚拟机平台、适用于 Linux 的 Windows 子系统。
(2)确保系统已更新到较新的 Windows 11 版本,避免 WSL/网络组件的老 Bug。
打开 Windows Terminal / PowerShell(普通权限即可),执行:
wsl --install wsl --status wsl -l -v如果你需要指定发行版,可在 Microsoft Store 安装 Ubuntu/Debian 等,然后用 wsl -l -v 确认版本为 2。
建议把 WSL2 设置为默认版本:
wsl --set-default-version 2从 Docker 官方下载并安装 Docker Desktop。安装完成后打开设置:
Settings → General:勾选 Use the WSL 2 d engine。
Settings → Resources → WSL Integration:为你常用的 Linux 发行版开启集成(例如 Ubuntu)。
完成后在 WSL 里验证:
docker version docker run --rm hello-world若能正常拉取并运行,说明本机容器链路已打通。
拉取镜像慢通常来自三类原因:网络质量、DNS/代理设置、以及镜像源可用性。建议按以下顺序排查:
(1)优先使用组织/公司的合规镜像加速服务(如果有),避免临时不稳定的来源。
(2)在 Docker Desktop 的 Settings → Docker Engine 中配置镜像加速(JSON 里通常会出现 registry-mirrors)。镜像地址请以官方文档或组织提供的为准。
(3)如果你处在代理网络环境,统一在系统层配置代理,并让 Docker Desktop 继承;避免“浏览器能上网、Docker 拉不动”的割裂配置。
(4)遇到解析异常时,先检查 DNS(公司网络/路由器/安全软件都可能影响),再考虑更换 DNS 或重置网络组件。
问题 A:Docker Desktop 一直启动失败
优先检查:虚拟化是否开启、Windows 功能是否勾选、WSL 是否能正常启动(wsl --status)。必要时重启一次系统再试。
问题 B:容器网络能通,但访问宿主机端口异常
确认端口是否被占用、防火墙/安全软件是否拦截,以及你在容器里访问宿主机时用的地址是否正确(不同网络模式下表现不同)。建议先用最简单的 Nginx/HTTP 例子验证链路,再迁移到真实项目。
问题 C:文件挂载很慢、前端热更新卡顿
尽量把项目放在 WSL 的 Linux 文件系统中(例如 ~/projects),再用 VS Code Remote / WSL 打开。跨文件系统挂载(Windows 盘 ↔ WSL)在某些场景下会显著变慢。
(1)每个项目用 docker compose 描述依赖(数据库、缓存、消息队列)。
(2)开发态与生产态分离:开发用可读的 compose 文件,生产用单独的参数/覆盖文件。
(3)把常用命令写进 Makefile 或脚本:启动、停止、清理、日志、进入容器。
(4)定期清理无用镜像与构建缓存,避免磁盘被吃满(谨慎执行清理命令,确认不会删到重要镜像)。
你可以用这 6 条快速确认环境是否“真可用”:WSL2 正常、Docker Desktop 正常、能拉取镜像、能跑容器、端口映射可访问、项目目录在合适的位置(性能不抖)。
完成这一步后,Windows 11 也能拥有接近原生 Linux 的容器开发体验。