安装WSL
- 启用 WSL 和虚拟机平台
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 重启电脑
- 安装 WSL2 内核更新包 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
- 设置 WSL2 为默认
wsl --set-default-version 2
- 安装 Linux 发行版(如 Ubuntu 20.04)
wsl --install -d Ubuntu-20.04
- 初始化设置用户名和密码
- 配置
wsl 资源占用
编辑|创建 .wslconfig (C:\Users\ 你的用户名.wslconfig)
[wsl2]
memory=1GB # 限制内存1GB,够用Express/EJS开发
swap=0 # 禁用交换分区,减少磁盘占用
processors=2 # 限制CPU核心数
idleTimeout=600 # 10分钟闲置自动关闭,释放vmmem内存 单位:秒
常见问题
- 虚拟化未启用:进 BIOS 开启 Intel VT-x/AMD-V,保存重启
- 版本不兼容:按Win+R输入winver,确认 Windows 版本≥2004(内部版本 19041+)
- 安装失败:先卸载旧版 WSL,执行wsl --unregister 旧发行版名,再重新安装
- 内存占用:不用时在 PowerShell 执行wsl --shutdown,vmmem 进程立即消失,释放全部内存
使用Alpine WSL发行版
- 在 Microsoft AppStore中下载 Alpine
- 使用root用户安装
alpine.exe install --root
- 配置国内源
编辑
/etc/apk/repositories,默认系统自带了 vi 编辑器
# Tencent源
https://mirrors.cloud.tencent.com/alpine/latest-stable/community
https://mirrors.cloud.tencent.com/alpine/latest-stable/main
- 更新包索引
apk update && upgrade
使用 Containerd 替代 Docker
安装 containerd
- 进入 wsl,安装 containerd
apk add containerd
- 配置 containerd
# 1. 生成配置目录 和 运行时目录
mkdir -p /etc/containerd
mkdir -p /run/containerd
# 生成默认配置
containerd config default > /etc/containerd/config.toml
#?? 启用 Systemd cgroup 驱动
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
# 2.启动 containerd (后台运行)
containerd &
# 3.解决WSL或chroot环境安装问题
touch /run/openrc/softlevel
# 4. 使用 openrc 管理(如果需要开机自启)
rc-update add containerd default
rc-service containerd start
# 验证安装
containerd --version
rc-service containerd status
# 如果遇到问题
### 1. 缺少目录权限
mkdir -p /run/containerd
chmod 755 /run/containerd
### 2.如果 containerd 启动失败,检查配置:
containerd config default --debug
### 3.查看日志
cat /var/log/containerd.log
安装 CTR、 RUNC 和 CNI-PLUGIN
# 安装ctr
apk add containerd-ctr runc cni-plugins
# 检查是否安装成功
ctr version
runc --version
# 测试拉取镜像
ctr images pull docker.io/library/hello-world:latest