在Windows WSL2中安装Ubuntu和Docker的完整指南
在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; thensudo 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://代理地址:端口