WSL + Docker:Windows 开发者的 Linux 利器

4 阅读4分钟

WSL + Docker:Windows 开发者的 Linux 利器

在 Windows 上享受原生 Linux 开发体验,AI 时代开发者的必备技能


一、什么是 WSL?

WSL(Windows Subsystem for Linux) 是微软为 Windows 10/11 开发的兼容层,让开发者可以直接在 Windows 上运行原生 Linux 环境——无需虚拟机、无需双系统。

WSL 目前有两个版本:

  • WSL 1:翻译层方案,兼容性更好,性能稍弱
  • WSL 2:基于轻量级虚拟机,性能接近原生 Linux,推荐使用

简单来说,有了 WSL,你的 Windows 电脑里就"住进"了一个真正的 Linux 系统。


二、WSL 有什么用?

🔧 开发环境统一

很多 AI 框架、开源项目优先支持 Linux。WSL 让你在 Windows 上拥有与服务器一致的开发环境,告别"我本地能跑,服务器报错"的尴尬。

🐳 容器化开发

Docker 是现代开发的核心工具。WSL 2 提供了原生 Docker 支持,镜像构建速度大幅提升。

📦 包管理更方便

使用 aptyumpipnpm 等包管理器,安装开发工具像搭积木一样简单。

🔄 无缝集成

Windows 文件系统(/mnt/c/)与 Linux 文件系统互通,VS Code 远程连接 WSL,编辑体验丝滑。


三、如何安装 WSL?

前置条件

  • Windows 10(版本 2004+)或 Windows 11
  • 启用虚拟化功能(BIOS 中开启)

一键安装(推荐)

管理员身份打开 PowerShell 或 CMD,执行:

wsl --install

这个命令会自动:

  1. 启用 WSL 和虚拟机平台
  2. 安装 WSL 2
  3. 下载并安装 Ubuntu(默认发行版)

安装完成后,重启电脑

重启后,系统会自动弹出 Ubuntu 终端窗口,提示你:

  1. 设置 UNIX 用户名
  2. 设置密码

完成后,你就拥有了一个可用的 Linux 系统!

手动安装(如需其他发行版)

查看可用发行版:

wsl --list --online

安装指定发行版:

wsl --install -d Ubuntu-22.04

四、安装 Ubuntu 系统

如果使用 wsl --install,Ubuntu 已自动安装。如需单独安装:

# 安装 Ubuntu 22.04 LTS
wsl --install -d Ubuntu-22.04


# 或安装 Ubuntu 24.04 LTS(最新)
wsl --install -d Ubuntu-24.04

初始配置

首次启动 Ubuntu:

# 更新系统包
sudo apt update && sudo apt upgrade -y


# 安装常用工具
sudo apt install -y git curl wget vim build-essential

基础命令

# 进入 WSL
wsl


# 退出 WSL
exit


# 从 Windows 访问 Linux 文件
# 在资源管理器地址栏输入:
\wsl$\Ubuntu


# 从 Linux 访问 Windows 文件
cd /mnt/c/Users/你的用户名/

五、在 WSL 中安装 Docker

Docker 是容器技术的核心,让我们可以快速部署各种 AI 框架、数据库、Web 服务等。

方法一:Docker Desktop(推荐新手)

  1. 下载 Docker Desktop for Windows
  2. 安装时勾选 "Use WSL 2 instead of Hyper-V"
  3. 安装完成后,Docker 会自动检测并集成 WSL 2
  4. 在 Settings → Resources → WSL Integration 中,启用你的 Ubuntu 发行版

验证安装:

docker --version
docker run hello-world

方法二:在 WSL 内直接安装 Docker(推荐进阶用户)

# 卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc


# 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release


# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
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 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


# 将当前用户加入 docker 组(免 sudo)
sudo usermod -aG docker $USER


# 启动 Docker 服务
sudo service docker start


# 验证
docker run hello-world

六、Docker 安装完成后,你能做什么?

有了 Docker,你可以一键部署几乎所有主流工具:

AI / 深度学习

# PyTorch + CUDA
docker run --gpus all -it pytorch/pytorch:latest


# TensorFlow
docker run --gpus all -it tensorflow/tensorflow:latest-gpu


# Ollama(本地大模型)
docker run -d -p 11434:11434 ollama/ollama


# Stable Diffusion
docker run -d -p 7860:7860 stabilityai/stable-diffusion-webui

数据库

# MySQL
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest


# PostgreSQL
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=123456 postgres:latest


# Redis
docker run -d -p 6379:6379 redis:latest


# MongoDB
docker run -d -p 27017:27017 mongo:latest

Web 服务

# Nginx
docker run -d -p 80:80 nginx:latest


# Node.js 应用
docker run -it -p 3000:3000 node:latest bash

开发工具

# VS Code Server(浏览器中写代码)
docker run -d -p 8080:8080 codercom/code-server


# Jupyter Notebook
docker run -d -p 8888:8888 jupyter/base-notebook

七、常见问题

Q1: WSL 占用内存过多?

编辑 %USERPROFILE%.wslconfig

[wsl2]
memory=4GB
processors=2
swap=2GB

Q2: 文件读写慢?

将项目放在 Linux 文件系统(~/projects/)而非 Windows 文件系统(/mnt/c/),性能提升明显。

Q3: Docker 启动失败?

# 确保 Docker 服务已启动
sudo service docker start


# 检查状态
sudo service docker status

Q4: 如何备份和恢复 WSL?

# 导出
wsl --export Ubuntu D:\backup\ubuntu-backup.tar


# 导入
wsl --import Ubuntu D:\wsl\ubuntu D:\backup\ubuntu-backup.tar

八、总结

WSL + Docker = Windows 开发者的最强组合

✅ 无需双系统,Windows 与 Linux 共存

✅ 原生 Docker 支持,容器化开发更高效

✅ 一键部署 AI 框架、数据库、Web 服务

✅ 与 VS Code 深度集成,开发体验丝滑

AI 时代,Linux 是开发者的主战场。有了 WSL,你的 Windows 电脑也能成为强大的 Linux 工作站!