Windows WSL2 + Docker 安装指南
2026/5/10大约 3 分钟
Windows WSL2 + Docker 安装指南
以下所有步骤均可一键复制执行。
一、启用 WSL 功能并安装 WSL2
以 管理员身份 打开 PowerShell,执行以下命令:
# 1. 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 2. 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启电脑,然后继续执行:
# 3. 下载并安装 WSL2 Linux 内核更新包
# 打开浏览器下载: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
# 双击安装 .msi 文件
# 4. 设置 WSL2 为默认版本
wsl --set-default-version 2
# 5. 安装 Ubuntu(默认最新 LTS 版本)
wsl --install -d Ubuntu安装完成后会自动弹出 Ubuntu 终端,设置用户名和密码即可。
二、在 WSL2 Ubuntu 中安装 Docker
打开 Ubuntu 终端(WSL2),依次执行以下命令(可一键复制整段):
# ============================================
# 一键复制以下所有命令到 WSL2 Ubuntu 终端执行
# ============================================
# 1. 更新系统并安装必要依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
# 2. 添加 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
# 3. 添加 Docker 官方 apt 源
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
# 4. 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 5. 将当前用户加入 docker 组(免 sudo 使用 docker)
sudo usermod -aG docker $USER
# 6. 刷新用户组(使上一步生效)
newgrp docker三、配置 Docker 镜像加速器
# 创建 Docker 配置目录
sudo mkdir -p /etc/docker
# 写入镜像加速配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.1ms.run",
"https://dytt.online",
"https://docker-0.unsee.tech",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://666860.xyz",
"https://hub.rat.dev",
"https://docker.m.daocloud.io",
"https://demo.52013120.xyz",
"https://proxy.vvvv.ee",
"https://registry.cyou"
]
}
EOF
# 重启 Docker 使配置生效
sudo service docker restart
# 验证配置是否生效
docker info | grep -A 20 "Registry Mirrors"四、设置 Docker 随 WSL2 开机自启动
方案一:使用 systemd(推荐,适用于较新版本 Ubuntu)
# 1. 编辑 wsl.conf 启用 systemd
sudo tee /etc/wsl.conf <<-'EOF'
[boot]
systemd=true
EOF
# 2. 启用 Docker 服务开机启动
sudo systemctl enable docker
sudo systemctl enable containerd方案二:如果没有 systemd,使用启动脚本
# 1. 编辑 .bashrc,添加 Docker 自启动逻辑
cat >> ~/.bashrc <<-'EOF'
# Auto-start Docker daemon if not running
if ! pgrep -x "dockerd" > /dev/null; then
sudo service docker start > /dev/null 2>&1
fi
EOF
# 2. 允许当前用户免密码启动 Docker 服务
sudo tee /etc/sudoers.d/docker-start <<-'EOF'
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service docker start
EOF方案三:配置 Windows 开机自动启动 WSL + Docker
在 Windows 中,按 Win + R 输入 shell:startup 打开启动文件夹,新建一个 .vbs 脚本:
- 在启动文件夹中右键 → 新建 → 文本文档
- 重命名为
start_docker.vbs - 右键编辑,粘贴以下内容:
Set ws = CreateObject("WScript.Shell")
ws.Run "wsl -d Ubuntu -e sudo service docker start", 0, False五、验证安装
# 验证 Docker 是否正常运行
docker --version
docker run hello-world
# 查看 Docker 服务状态
sudo service docker status常见问题
| 问题 | 解决方案 |
|---|---|
| WSL 安装失败 | 确保 BIOS 中开启了虚拟化技术(Intel VT-x / AMD-V) |
docker: permission denied | 执行 newgrp docker 或重新打开终端 |
| 镜像拉取慢 | 检查 /etc/docker/daemon.json 配置是否正确,执行 sudo service docker restart |
| WSL2 无法启动 | 以管理员身份运行 wsl --update 更新 WSL |
| systemd 无效 | 确保 WSL 版本 ≥ 0.67.6,执行 wsl --version 检查 |
