开始前你需要准备什么(依赖清单)
这套方案依赖/需要你确认的东西:
– Windows 11(建议 22H2+,越新越好)
– CPU 支持虚拟化(Intel VT-x / AMD-V),并且在 BIOS 里已开启
– Windows 功能组件(后面会一键开启):
– WSL(Windows Subsystem for Linux)
– Virtual Machine Platform(虚拟机平台)
– 一个 Linux 发行版(推荐 Ubuntu)
– Docker Desktop(后面安装)
– 可选但强烈推荐:Windows Terminal(微软商店可装,用起来舒服)
## 1. 先确认:系统版本 & 虚拟化是否开启
### 1.1 查看 Windows 版本(可跳过)
按 `Win + R`,输入 `winver` 回车,确认是 Windows 11。
### 1.2 确认“虚拟化”是否已启用(重要)
按 `Ctrl + Shift + Esc` 打开任务管理器 → “性能” → “CPU”。
– **虚拟化:已启用** ✅ 继续下一步
– **虚拟化:已禁用** ❌ 需要重启进 BIOS/UEFI 打开虚拟化
## 2. 一键安装 WSL2(PowerShell 一条命令)
### 2.1 用管理员打开 PowerShell
开始菜单搜索 **PowerShell** → 右键 → **以管理员身份运行**。
### 2.2 执行 WSL 安装命令(可一键复制)
wsl --install它会自动:
– 开启 WSL + 虚拟机平台
– 安装默认 Linux(一般是 Ubuntu)
– 设置 WSL2 为默认
执行完如果提示你**重启**,按提示重启即可。
## 3. 重启后:初始化 Ubuntu(第一次会让你设置用户名密码)
重启后你可以从开始菜单打开 **Ubuntu**(或自动弹出来)。
第一次会让你设置:
– Linux 用户名(随便起,比如 `hlw`)
– 密码(输入时不会显示字符,这是正常的)
## 4. 检查 WSL2 是否正常
重启后,打开 PowerShell(普通权限也行),执行:
### 4.1 查看 WSL 状态
wsl --status### 4.2 查看发行版与版本(必须是 Version 2)
wsl -l -v你应该看到 Ubuntu 的 `VERSION` 是 **2**。
如果不是 2(比如是 1),执行下面这条切到 WSL2:
wsl --set-version Ubuntu 2并且建议把默认版本也设为 2:
wsl --set-default-version 2## 5. 在 Ubuntu 里更新基础依赖(推荐)
打开 Ubuntu 终端,执行:
### 5.1 更新软件索引
sudo apt update### 5.2 安装常用工具依赖
sudo apt install -y ca-certificates curl gnupg lsb-release## 6. 安装 Docker Desktop(推荐:winget 一键安装)
### 6.1 先确认 winget 能用
打开 PowerShell(普通权限即可):
winget -v能输出版本号就说明 OK。
### 6.2 一键安装 Docker Desktop(可一键复制)
winget install -e --id Docker.DockerDesktop安装过程会弹出安装向导,按默认下一步即可。
## 7. 第一次启动 Docker Desktop(关键:勾选 WSL2 后端)
安装完后,从开始菜单打开 **Docker Desktop**。
### 7.1 可能会出现的提示
– 让你同意协议:按提示点同意
– 提示需要登录 Docker 账号:**可以先跳过**(多数情况下不登录也能用基本功能)
– 提示需要重启:按提示重启
### 7.2 确认使用 WSL2 引擎(非常重要)
进入 Docker Desktop:**Settings(设置) → General(常规)**
确保下面这项是勾选状态:
– ✅ **Use the WSL 2 based engine**
如果没勾选,勾上后 Docker Desktop 可能会重启一次。
## 8. 打开 WSL 集成(让 Ubuntu 里也能用 docker 命令)
Docker Desktop:**Settings → Resources → WSL Integration**
推荐这样设置:
– ✅ 勾选 **Enable integration with my default WSL distro**
– ✅ 在列表里把 **Ubuntu** 开关也打开(如果有)
点右上角 **Apply & Restart**(应用并重启)。
## 9. 验证安装是否成功(Windows 侧)
### 9.1 在 PowerShell 验证 Docker 版本
docker version正常会输出 Client/Server 版本信息。
如果提示找不到 `docker` 命令:重开一个 PowerShell 窗口再试(环境变量需要刷新)。
### 9.2 跑一个 hello-world
docker run --rm hello-world看到 `Hello from Docker!` 说明 Docker 在 Windows 侧已经完全 OK。
## 10. 验证安装是否成功(Ubuntu/WSL 侧)
打开 Ubuntu 终端:
### 10.1 看看 docker 命令是否可用
docker version### 10.2 WSL 里跑 hello-world
docker run --rm hello-world如果这一步也能输出 `Hello from Docker!`,说明 **Docker Desktop ↔ WSL2 集成**完成。
## 11.(推荐)装 Windows Terminal(更好用的终端)
如果你已经有了可以跳过。没有的话:
– 打开微软商店搜索 **Windows Terminal** 安装
– 之后你可以在 Terminal 里同时开 PowerShell / Ubuntu / CMD,用起来会舒服很多
## 12.(推荐)VS Code + WSL 插件(写代码最顺)
如果你要在 Ubuntu(WSL)里做开发,建议这样:
### 12.1 安装 VS Code(可一键复制)
winget install -e --id Microsoft.VisualStudioCode### 12.2 装 Remote – WSL 插件
打开 VS Code → 扩展(Extensions)搜索并安装:
– **Remote – WSL**
### 12.3 用 WSL 打开项目
在 Ubuntu 终端进入你的项目目录,然后:
code .首次会自动在 WSL 里装一个 VS Code Server,等它完成就行。
## 13. Docker Desktop 资源设置(避免把电脑拖慢/也避免不够用)
Docker Desktop:**Settings → Resources**
给你一个“小白稳妥默认值”(普通开发/跑小项目足够):
– CPU:2~4 核
– Memory:4~8 GB(电脑 16GB 内存就给 6~8GB 比较舒服)
– Disk:30~60GB(看你镜像和项目大小)
设置完点 **Apply & Restart**。
## 14.(国内网络强烈建议)配置镜像加速(下载镜像更快)
Docker Desktop → **Settings → Docker Engine**
在 JSON 里加入/修改 `registry-mirrors`,格式类似:
{
"registry-mirrors": [
"https://你的镜像加速地址"
]
}然后点 **Apply & Restart**。
## 15. 小白必会:10 条最常用 Docker 命令(带解释)
### 15.1 查看 Docker 是否正常
docker version### 15.2 拉取镜像(下载)
docker pull nginx:latest### 15.3 查看本机已有镜像
docker images### 15.4 运行一个容器(后台运行)
docker run -d --name mynginx -p 8080:80 nginx:latest解释:
– `-d`:后台运行
– `–name mynginx`:容器取名
– `-p 8080:80`:把你电脑的 8080 端口映射到容器的 80 端口
然后浏览器打开:`http://localhost:8080`
### 15.5 查看正在运行的容器
docker ps### 15.6 查看所有容器(包含已停止)
docker ps -a### 15.7 停止容器
docker stop mynginx### 15.8 删除容器
docker rm mynginx### 15.9 删除镜像
docker rmi nginx:latest### 15.10 进入容器内部(排查问题常用)
docker run -it --name ubuntutmp ubuntu:22.04 bash退出容器:
exit删除演示容器:
docker rm ubuntutmp## 16.(可选)清理磁盘:一键清掉不用的镜像/容器
推荐先用温和版:
docker system prune更狠(连无用镜像一起删):
docker system prune -a## 17. 可选路线:不用 Docker Desktop,只在 WSL(Ubuntu) 里安装 Docker Engine(纯命令行)
### 17.1 安装 Docker Engine 所需依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg创建 keyrings 目录:
sudo install -m 0755 -d /etc/apt/keyrings导入 Docker 官方 GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg添加 Docker 官方软件源:
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null更新索引:
sudo apt update安装 Docker Engine 组件:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin### 17.2 让当前用户不用 sudo 也能用 docker
sudo usermod -aG docker $USER然后退出 Ubuntu 终端并重新打开,再验证:
docker run --rm hello-world### 17.3 WSL 下 docker daemon 的启动说明(重点)
WSL 是否支持 `systemctl` 取决于你是否启用了 systemd。
检查 PID 1:
ps --no-headers -o comm 1如果输出是 `systemd`,你可以:
sudo systemctl enable docker
sudo systemctl start docker如果不是 `systemd`:建议优先回到 Docker Desktop 方案(省心)。
## 18. 常见报错排查(小白速解)
### 18.1 `docker: command not found`
– Docker Desktop 方案:检查 Docker Desktop → WSL Integration 是否打开 Ubuntu
– 纯命令行方案:按第 17 节安装 docker-ce
### 18.2 `Cannot connect to the Docker daemon`
– Docker Desktop 方案:确保 Docker Desktop 正在运行 + WSL 集成已开
– 纯命令行方案:确保 docker 服务已启动:
sudo systemctl start docker### 18.3 端口被占用(`port is already allocated`)
换一个端口:
docker run -d --name mynginx -p 8081:80 nginx:latestWindows 侧找占用进程:
netstat -ano | findstr :8080### 18.4 拉镜像太慢
优先配置镜像加速(第 14 节)。
## 19. 最终检查清单(照着打勾就能一次成功)
### 19.1 环境准备
– [ ] Windows 11
– [ ] CPU 虚拟化:已启用
– [ ] WSL2 已安装:`wsl -l -v` 显示 Ubuntu Version 2
### 19.2 Docker Desktop 方案(推荐)
– [ ] 已安装 Docker Desktop
– [ ] Settings → General → 勾选 **Use the WSL 2 based engine**
– [ ] Settings → Resources → WSL Integration → 打开 Ubuntu
– [ ] PowerShell 跑通:
docker run --rm hello-world– [ ] Ubuntu(WSL) 跑通:
docker run --rm hello-world### 19.3(可选)体验增强
– [ ] Docker Desktop 分配资源合理(CPU/内存/磁盘)
– [ ] 配置镜像加速(如果需要)
## 结语
按本文走 **WSL2 + Docker Desktop** 这条路线,基本不会踩“服务起不来/daemon 连不上/权限乱”的坑,小白一次上手成功率最高。