只需一行命令,Win11秒变Linux开发主机!

大家好,我是六哥,今天为大家分享,只需一行命令,就能拥有原生的Linux系统体验!

本文以真实操作为例,带你一步步解决常见问题,轻松搞定WSL+Docker环境。

一、只需一行命令,开启WSL

在PowerShell(管理员)中输入:

powershell 复制代码
wsl --install

等待系统自动安装WSL(Windows子系统Linux)和默认的Ubuntu发行版。注意:安装过程可能需要10-30分钟,期间请保持网络畅通。

当然啦,如果你有喜好问题,可以先看下可用列表,输入如下命令:

powershell 复制代码
wsl --list --online

这里会列出可用支持列表,可自行选择

这里我就安装Ubuntu了

powershell 复制代码
wsl --install --web-download

具体喜欢哪个看自己,一句话那个其实够用的。

安装成功

值得一说的,第一次启动会提示设置账号密码

二、遇到安装卡住怎么办?

有时候进度条长时间停在某个百分比,比如28%,不用慌:

可以按 Ctrl+C 终止安装,重启电脑后再次运行 wsl --install

如果依然卡住,手动启用WSL和虚拟机平台功能:

powershell 复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启电脑,继续安装。

三、WSL安装成功后,如何进入Linux?

安装完成后,直接在开始菜单或终端选择"Ubuntu"即可进入Linux环境。此时你已经拥有了一个原生的Linux终端!

四、如何停止或管理WSL?

停止所有WSL实例:

powershell 复制代码
wsl --shutdown

停止指定发行版:

powershell 复制代码
wsl --terminate Ubuntu

查看所有发行版:

powershell 复制代码
wsl --list -v

五、为什么会有多个Ubuntu?如何只保留一个?

有时会发现 wsl --list -v 显示多个Ubuntu。这可能是重复安装或不同版本导致的。可以用如下命令删除多余的发行版:

powershell 复制代码
wsl --unregister Ubuntu-20.04

只保留你需要的那一个即可。

六、如何在WSL中安装Docker?

1、更新源并安装依赖:

bash 复制代码
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

2、添加Docker官方源和密钥

bash 复制代码
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

3、再次更新软件包索引,安装Docker Engine

bash 复制代码
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4、启动Docker服务:

bash 复制代码
sudo service docker start

5、测试Docker:

bash 复制代码
sudo docker run hello-world

效果

七、Docker拉取镜像超时怎么办?(需要走梯子)

1. 现象

运行 sudo docker run hello-world 时,报错:

复制代码
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

说明Docker无法访问外网。

2. 解决思路

你需要让WSL和Docker都能走代理(如Clash、v2rayN等)。

3. 以v2rayN为例的详细配置

开启"允许来自局域网的连接"

在v2rayN设置里,务必勾选"允许来自局域网的连接",否则WSL无法访问代理端口。

获取Windows主机IP

在WSL中运行:

bash 复制代码
cat /etc/resolv.conf

记下 nameserver 后的IP,比如 172.21.64.1

设置WSL代理环境变量

假设HTTP代理端口为10809:

bash 复制代码
export http_proxy="http://172.21.64.1:10809"
export https_proxy="http://172.21.64.1:10809"

如果用Socks5代理,端口一般是10808,格式为:

bash 复制代码
export http_proxy="socks5h://172.21.64.1:10808"
export https_proxy="socks5h://172.21.64.1:10808"

为Docker守护进程配置代理

编辑 /etc/systemd/system/docker.service.d/http-proxy.conf,内容如下(以HTTP代理为例):

ini 复制代码
[Service]
Environment="HTTP_PROXY=http://172.21.64.1:10808/"
Environment="HTTPS_PROXY=http://172.21.64.1:10808/"

重载并重启Docker:

bash 复制代码
sudo systemctl daemon-reload
sudo service docker restart

再次测试Docker拉取镜像

bash 复制代码
sudo docker run hello-world

如果一切顺利,应该能看到Hello from Docker的提示!

八、常见问题排查

curl能通但docker不通?

说明WSL代理设置没问题,但Docker守护进程代理没配好,检查配置文件和端口。

connect refused?

说明v2rayN没开"允许局域网连接"或端口号不对。

端口号不确定?

以v2rayN设置页面显示为准,HTTP和Socks5端口不要搞混。

九、总结

只需一行命令,Win11就能拥有原生Linux环境。遇到网络、代理、Docker等问题,按照本文方法逐步排查和配置,开发、测试、运维,在部署过程中都能轻松用上高效的Linux环境!

如果你在操作过程中遇到其他问题,欢迎留言交流!