Windows上配置WSL 2 + Docker开发环境全攻略
前言
对于许多开发者来说,Windows上的Linux开发环境一直是个痛点。传统的虚拟机方案资源占用大、启动慢,双系统切换又太麻烦。而现在,微软的WSL 2(Windows Subsystem for Linux)配合Docker,为我们提供了近乎完美的解决方案——既能享受Windows的日常便利,又能获得原生Linux的开发体验。
一、环境准备
1.1 系统要求
- Windows 10 版本 1903 或更高版本(建议Windows 11)
- 支持硬件虚拟化(任务管理器 > 性能 > CPU 查看)
- 至少8GB内存(推荐16GB)
1.2 启用必要的Windows功能
以管理员身份打开PowerShell,运行:
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart重启计算机完成安装。
二、安装WSL 2
2.1 安装步骤
# 设置WSL 2为默认版本wsl--set-default-version 2# 查看可安装的Linux发行版wsl--list--online# 安装Ubuntu 22.04 LTSwsl--install-d Ubuntu-22.04安装过程中创建Linux用户名和密码。
2.2 验证安装
wsl-l-v看到Ubuntu版本为2即成功。
2.3 初始化Ubuntu
sudoaptupdate&&sudoaptupgrade-y三、方案一:使用Docker Desktop(推荐新手)
3.1 安装Docker Desktop
- 从 Docker官网 下载Docker Desktop for Windows
- 运行安装程序,勾选“Install required Windows components for WSL 2”
- 重启计算机
3.2 配置WSL集成
- 启动Docker Desktop
- Settings > General,确保“Use the WSL 2 based engine”已勾选
- Settings > Resources > WSL Integration
- 启用Ubuntu发行版
- Apply & Restart
3.3 验证安装
docker--versiondockerrun hello-world四、方案二:WSL中直接安装Docker引擎
4.1 安装Docker引擎
sudoaptupdatesudoaptinstall-yapt-transport-https ca-certificatescurlgnupg2 software-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpgecho"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/nullsudoaptupdatesudoaptinstall-ydocker-ce docker-ce-cli containerd.io4.2 配置iptables兼容性
sudoupdate-alternatives--configiptables选择iptables-legacy。
4.3 启动Docker
sudoservicedockerstart4.4 配置用户权限
sudousermod-aGdocker$USER需要重新打开终端生效。
五、配置Docker镜像加速器(国内必备)
5.1 创建配置文件
sudomkdir-p/etc/dockersudonano/etc/docker/daemon.json5.2 添加加速器地址
{"registry-mirrors":["https://docker.1ms.run","https://docker.xuanyuan.me"]}5.3 重启Docker服务
sudosystemctl daemon-reloadsudosystemctl restartdocker5.4 验证加速器
dockerinfo|grep-A5"Registry Mirrors"六、常见问题排查
6.1 WSL 2内存占用过高
在Windows用户目录创建.wslconfig:
[wsl2] memory=4GB processors=2 localhostForwarding=true重启WSL:
wsl--shutdown6.2 Docker服务无法启动
sudodockerd--debug6.3 文件权限问题
sudochmod777/mnt/d/你的文件夹七、总结
通过WSL 2和Docker的结合,Windows已经成为一个强大的Linux开发平台。两种方案适用场景:
- Docker Desktop方案:适合新手、需要图形界面管理
- 原生Docker引擎方案:适合追求纯粹性、需要与生产环境一致
配置好镜像加速器后,国内访问Docker Hub将变得流畅许多。祝配置顺利!