大家好,我是六哥,今天为大家分享,只需一行命令,就能拥有原生的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环境!
如果你在操作过程中遇到其他问题,欢迎留言交流!