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

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

一、只需一行命令,开启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

停止指定发行版:

wsl --terminate Ubuntu

查看所有发行版:

wsl --list -v

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

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

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环境!

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

只需一行命令,Win11秒变Linux开发主机!的更多相关文章

  1. 只需一行代码!Python中9大时间序列预测模型

    在时间序列问题上,机器学习被广泛应用于分类和预测问题.当有预测模型来预测未知变量时,在时间充当独立变量和目标因变量的情况下,时间序列预测就出现了. 预测值可以是潜在雇员的工资或银行账户持有人的信用评分 ...

  2. python3.7 打包成exe程序(只需两行命令)

    根据博客作者louniuous的python3.7 打包成exe的一种方法 pyinstaller一文改编简化 环境:pycharm2018.1+win7+python3.7 工具:pyinstall ...

  3. c# 输出excel、word实例只需一行代码

    第一.首先下载 WindICFrameNet.dll 下载地址:http://pan.baidu.com/s/1dDBqC9r 第二.前台代码 <div style="display: ...

  4. centos 下安装pdo_pgsql 只需一个命令_______yum install php56w-pgsql

    [root@localhost ~]# yum install php56w-pgsql Loaded plugins: fastestmirror, langpacks Repository pgd ...

  5. 一行命令将ubuntu升级到最新版本

    zzupdate 是一个开源的命令行程序,通过将几个更新命令组合到一个命令中,使得将 Ubuntu 桌面和服务器版本升级到更新版本的任务变得容易一些. 将 Ubuntu 系统升级到更新的版本并不是一项 ...

  6. 一键前端代理,一行命令开启nginx容器,代理前端页面

    我们在前端开发的过程中,在对接口时候,往往需要跨域请求,那么及其简便的方法就是使用nginx反向代理,但是存在几点缺点 1.在新的一个项目下,我们需要找到安装nginx目录的nginx.conf文件并 ...

  7. linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数

    linux上怎么切换不同版本的arm-linux-gcc?只需改一行函数 ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc /usr/bin/arm-linux ...

  8. 写20万数据到Excel只需9秒

    on my god,写20万数据到Excel只需9秒   还是菜鸟时,在某个.Net项目中,用户需要从业务系统导出Report,而数据量通常都在上万条以上,最初采用的方式就是在服务器端用NPOI生成E ...

  9. oh my god,写20万数据到Excel只需9秒

    还是菜鸟时,在某个.Net项目中,用户需要从业务系统导出Report,而数据量通常都在上万条以上,最初采用的方式就是在服务器端用NPOI生成Excel,把Data一行一行一个Cell一个Cell地写到 ...

  10. linux服务器性能分析只需1分钟

    背景: 现在的互联网公司,大多数时候应用服务都是部署在linux服务器上,那么当你的服务运行过程中出现了一些响应慢,资源瓶颈等疑似性能问题时,给你60秒,如何快速完成初步检测? 肯定有人会说用工具,公 ...

随机推荐

  1. JVM 的内存区域是如何划分的?

    JVM 的内存区域划分 JVM 在运行时会将内存划分为多个区域,用于管理程序运行时的不同类型数据.以下是 JVM 内存的主要划分: 1. 方法区(Method Area) 定义: 方法区是运行时数据区 ...

  2. php版10大设计模式,软件工程必须掌握的姿势

    作为一个半路出家的php萌新,在看公司老大们的代码时无时无刻不在感叹,老大就是老大,写的代码低耦合.易扩展,我怎么就想不出这写完美的实现方式,最近看了韩大佬的视频后才明白,原来这些都是业界前辈们总结提 ...

  3. Redis Stream消息队列

    工具类部分内容 package com.hwd.campus.common.redis.utils; import com.hwd.campus.common.redis.constant.Redis ...

  4. 代码随想录第十七天 | Leecode 654. 最大二叉树、617. 合并二叉树、700. 二叉搜索树中的搜索、98. 验证二叉搜索树

    Leecode 654. 最大二叉树 题目描述 给定一个不重复的整数数组 nums . 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值. 递归地在 ...

  5. 【SQL周周练】一句 SQL 如何帮助 5 个人买到电影院最好的座位?

    大家好,我是"蒋点数分",多年以来一直从事数据分析工作.从今天开始,与大家持续分享关于数据分析的学习内容. 本文是第 3 篇,也是[SQL 周周练]系列的第 3 篇.该系列是挑选或 ...

  6. 信息资源管理综合题之“某国企投资IT应用人员减少但生成率没有实质性变化的IT黑洞问题”

    一.某大型国企在IT应用上投资了2000万美元,虽然蓝领工人数量大幅减少,但实际生产率并未有实质性变化 1.企业在IT应用上的巨额投资并未达到预期目标的这种现象被称为什么? 2.产生这现象的原因有哪些 ...

  7. Vite 3 来了!新增功能 + 如何迁移

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  8. 基于libwchnet&Mbedtls实现HTTPS

    引言: 本文将介绍使用CH32V307VCT6以及官方协议栈(libwchnet)搭配Mbedtls作为客户端通过HTTPS访问百度并获取百度首页数据. 一.HTTPS概述与SSL/TSL简介 HTT ...

  9. Python内置库itertools简单学习

    该库为满足特定需要的比较高效的迭代器内置库,在数据科学中的应用也不少,故有必要了解一下: import itertools import sys 无限迭代器(Infinite iterators) I ...

  10. java RSA公私钥生成工具类

    package cn.daenx.my.util; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; imp ...