Windows10或11 安装 WSL2、Ubuntu 和 Docker
1. 启用 WSL2 和虚拟机平台
-
以管理员身份打开 PowerShell:
- 右键点击“开始”菜单,选择“Windows PowerShell (管理员)”。
-
启用 WSL 功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
-
启用虚拟机平台功能:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
重启计算机:
- 重启以应用更改。
2. 安装 WSL2 内核更新
-
下载并安装 WSL2 内核更新:
- 访问 WSL2 内核更新页面 下载并安装更新包。
-
设置 WSL2 为默认版本:
-
打开 PowerShell 并运行以下命令:
wsl --set-default-version 2
-
3. 安装 Ubuntu
-
从 Microsoft Store 安装 Ubuntu:
- 打开 Microsoft Store,搜索“Ubuntu”并选择最新版本进行安装。
-
启动 Ubuntu 并完成初始化:
- 安装完成后,启动 Ubuntu,设置用户名和密码。
4. 安装 Docker(弃用 Docker Desktop)
-
在 Ubuntu 中安装 Docker:
-
打开 Ubuntu 终端,运行以下命令:
# 在 ubuntu 执行 sudo apt-get update # 更新内核 sudo apt-get install ca-certificates curl gnupg #安装依赖 #导入 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 #添加 Docker 官方仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #更新内核 sudo apt-get update #安装 Docker sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #验证 docker -v
-
-
启动 Docker 服务:
sudo service docker start
-
将当前用户加入 Docker 组(避免每次使用
sudo
):sudo usermod -aG docker $USER
-
验证 Docker 安装:
docker --version
5. 配置 Docker 使用 WSL2 后端
-
创建或编辑 Docker 配置文件:
-
在 Ubuntu 中,编辑或创建
/etc/docker/daemon.json
文件:sudo nano /etc/docker/daemon.json
-
-
添加以下内容:
#这些地址未必能使用 ,请自行搜索国内可用的镜像地址 { "registry-mirrors": [ "https://<your_mirror_url>.mirror.aliyuncs.com ] }
-
重启 Docker 服务:
sudo service docker restart
6. 验证 Docker 运行
-
运行测试容器:
docker run hello-world
-
检查容器是否正常运行:
- 如果看到“Hello from Docker!”消息,说明 Docker 已成功安装并运行。
7. 端口转发至 WSL2
-
查看 WSL2 的 IP 地址:
-
在 Ubuntu 中运行以下命令查看 WSL2 的 IP 地址:
ip addr show eth0
-
找到
inet
后面的 IP 地址(例如:172.xx.xx.xx
)。
-
-
配置 Windows 端口转发:
-
打开 PowerShell(管理员权限),运行以下命令将 Windows 的 22 端口转发到 WSL2 的 IP 地址:
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=172.xx.xx.xx
-
将
172.xx.xx.xx
替换为 WSL2 的实际 IP 地址。
-
-
验证端口转发:
- 在 Windows 上使用 SSH 客户端连接
localhost
的 22 端口,验证是否成功连接到 WSL2。
- 在 Windows 上使用 SSH 客户端连接
8. WSL 基础命令
-
列出已安装的 WSL 发行版:
wsl --list --verbose
-
设置默认 WSL 发行版:
wsl --set-default <发行版名称>
-
停止 WSL2 实例:
wsl --shutdown
-
导出 WSL 发行版:
wsl --export <发行版名称> <导出路径>
-
导入 WSL 发行版:
wsl --import <新发行版名称> <安装路径> <导出文件路径>
-
删除 WSL 发行版:
wsl --unregister <发行版名称>
9. 其他注意事项
- WSL2 与 Docker 的集成:Docker 容器在 WSL2 中运行时,性能接近原生 Linux 环境。
- 资源管理:WSL2 会占用较多内存和 CPU,建议根据需求调整资源限制。
通过以上步骤,您可以在 Windows 上成功安装 WSL2、Ubuntu 和 Docker。同时,您还可以通过端口转发和 WSL 基础命令更好地管理和使用 WSL2。
参与讨论
(Participate in the discussion)
参与讨论