在Windows系统上搭建Linux开发环境,WSL2是一个绝佳的选择。本文将详细介绍如何在Windows系统上安装WSL2、Ubuntu 20.04,以及在Ubuntu中安装Docker Engine的完整过程。


第一步:启用WSL功能

1. 启用WSL和虚拟机平台

以管理员身份打开PowerShell,运行以下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2. 重启电脑

执行完上述命令后,需要重启计算机使功能生效。


第二步:安装WSL2

1. 下载WSL2内核更新包

重启后,访问微软官网下载WSL2 Linux内核更新包:

https://aka.ms/wsl2kernel

下载完成后直接运行安装程序。

2. 设置WSL2为默认版本

在PowerShell中执行:

wsl --set-default-version 2

第三步:安装Ubuntu 20.04

使用命令行安装(推荐)

在PowerShell或命令提示符中运行:

wsl --install -d Ubuntu-20.04

备选方案:通过Microsoft Store安装

  • 打开 Microsoft Store
  • 搜索 “Ubuntu 20.04 LTS”
  • 点击安装

第四步:初始化Ubuntu

1. 启动Ubuntu

在开始菜单找到 Ubuntu 20.04 并启动,或在命令行输入:

ubuntu2004

2. 首次设置

  • 等待安装完成(需要几分钟)
  • 创建用户名和密码

    注意:输入密码时屏幕不会显示字符,这是正常的安全机制

3. 验证安装

wsl -l -v

应该看到 Ubuntu-20.04 的 VERSION 显示为 2。


第五步:在WSL2中安装Docker Engine

1. 更新包管理器

sudo apt update
sudo apt upgrade -y

2. 安装必要的依赖

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

3. 添加Docker官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加Docker仓库

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装Docker Engine

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

6. 启动Docker服务

sudo service docker start

7. 验证安装

docker --version
sudo docker run hello-world

如果看到 “Hello from Docker!” 的消息,说明安装成功。


权限配置(可选)

将用户添加到docker组

sudo usermod -aG docker $USER

然后完全关闭并重启WSL2:

wsl --shutdown
wsl -d Ubuntu-20.04

重启后可以直接运行:

docker run hello-world

使用sudo运行(个人推荐)

sudo docker run hello-world
配置sudo免密(可选)
sudo visudo

在文件末尾添加:

你的用户名 ALL=(ALL) NOPASSWD: /usr/bin/docker

设置Docker服务自启动(可选)

编辑 .bashrc 文件:

nano ~/.bashrc

添加以下内容:

# 自动启动Docker服务
if ! sudo service docker status > /dev/null 2>&1; then
    sudo service docker start > /dev/null 2>&1
fi

重新加载配置:

source ~/.bashrc

常见问题解决

1. 虚拟化功能未启用

错误代码 0x80370102 通常表示 BIOS 中未启用虚拟化:

  • 重启电脑进入 BIOS 设置
  • 启用 Intel VT-x 或 AMD-V 虚拟化功能

2. WSL版本问题

如果WSL版本显示为1而不是2:

wsl --set-version Ubuntu-20.04 2

3. 网络代理警告

配置代理(如果需要):

nano ~/.bashrc

添加:

export http_proxy=http://代理地址:端口
export https_proxy=http://代理地址:端口

更多推荐