一行指令,Win11秒变Linux开发乐园
各位好呀,我是六哥,今天来跟大家分享,只需要一行命令,就能让Win11拥有原生的Linux系统使用体验哟!
本文以真实操作作为例子,带大家一步步解决常见问题,轻松搭建好WSL+Docker环境呢。
一、通过一行命令开启Windows子系统Linux(WSL)
在管理员权限的PowerShell中输入下面这条命令:
wsl --install
接着就等着系统自动安装WSL(Windows子系统Linux)还有默认的Ubuntu发行版啦。要注意哦,安装过程可能得花10到30分钟呢,这期间得保证网络是畅通的。
要是你有喜好选择的问题,那可以先看看有哪些可用的发行版,输入下面这条命令:
wsl --list --online
这里会把可用的支持列表列出来,大家可以自己挑选
那我就安装Ubuntu啦,输入下面这条命令:
wsl --install --web-download
其实选哪个就看自己喜好啦,简单来说够用就行。
安装成功啦
有一点得说一下,第一次启动的时候会提示设置账号密码哟
二、安装卡住了咋办?
有时候进度条老长时间停在某个百分比,比如说28%,别慌哈:
可以按Ctrl+C
把安装给终止掉,重启电脑之后再运行wsl --install
命令。要是还是卡住的话,就手动启用WSL还有虚拟机平台功能,输入下面这两条命令:
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实例,输入:
wsl --shutdown
停止指定的发行版,比如停止Ubuntu,就输入:
wsl --terminate Ubuntu
查看所有的发行版,输入:
wsl --list -v
五、为啥会有好几个Ubuntu?怎么只留一个呢?
有时候用wsl --list -v
会显示好几个Ubuntu。这可能是重复安装或者版本不一样导致的。可以用下面这条命令删掉多余的发行版,比如删掉Ubuntu-20.04:
wsl --unregister Ubuntu-20.04
只保留你需要的那一个就可以啦。
六、怎么在WSL里安装Docker呢?
1、更新源并且安装依赖:
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
2、添加Docker官方源还有密钥
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4、启动Docker服务:
sudo service docker start
5、测试Docker:
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里运行:
cat /etc/resolv.conf
记下nameserver
后面的IP,比如说172.21.64.1
。
设置WSL代理环境变量
假如说HTTP代理端口是10809,就输入:
export http_proxy="http://172.21.64.1:10809"
export https_proxy="http://172.21.64.1:10809"
要是用Socks5代理,端口一般是10808,格式就是:
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代理为例):
[Service]
Environment="HTTP_PROXY=http://172.21.64.1:10808/"
Environment="HTTPS_PROXY=http://172.21.64.1:10808/"
然后重载并且重启Docker:
sudo systemctl daemon-reload
sudo service docker restart
再次测试Docker拉取镜像
sudo docker run hello-world
要是一切顺利的话,应该就能看到Hello from Docker的提示啦!

八、常见问题排查
curl能通但docker不通?
这就说明WSL代理设置没问题,但是Docker守护进程代理没配置好,检查一下配置文件还有端口就行。
connect refused?
这就说明v2rayN没开“允许局域网连接”或者端口号不对啦。
端口号不确定?
就以v2rayN设置页面显示的为准,HTTP和Socks5端口可别弄混啦。
九、总结
只需要一行命令,Win11就能有原生的Linux环境啦。碰到网络、代理、Docker这些问题的时候,按照本文的方法一步步排查还有配置,开发、测试、运维的时候,都能轻松用上高效的Linux环境哟!
要是你在操作过程中碰到别的问题,欢迎留言交流哈!