window11系统基于 wsl2 安装Linux发行版ubuntu,并安装docker及vscode

news2024/11/20 1:42:10

前景介绍:

WSL是“Windows Subsystem for Linux”的缩写,顾名思义,WSL就是Windows系统的Linux子系统,其作为Windows组件搭载在Windows10周年更新(1607)后的Windows系统中。

既然WSL是“子系统”,那么WSL的地位我们能大概推测出——

  1. “子系统”作为系统层的一部分,相较于应用层(虚拟机)会消耗更少的资源,并且与系统锲合度更高。

  2. 因为“子系统”依附于“系统”,所以“子系统”会受到一些限制。

事实上,的确是这样!只需要打开一个类似CMD的Bash命令行窗口,你的WSL就可以使用了(相当于建立了一个Session,因为WSL会一直伴随Win10的运行而运行),相对于从虚拟机启动既省时又省力。
除此之外,虽然WSL不是完整的Linux系统,但你依然可以做到绝大多数在完整Linux系统能做的事(比如vim, apt-get等)。

我们知道,Linux是一个系统内核,那么WSL是Linux发行版吗?并不是。WSL本质上是系统层面对Linux内核的支持

1.在PowerShell中安装 wsl

wsl --install

2.检查正在运行的 WSL 版本

wsl -l -v

在这里插入图片描述

如果 VERSION 是 1 的话,可以通过 wsl --set-version Ubuntu-22.04 2 将 version 版本改为 2

可能遇到的问题

如果将版本从1更改为2失败,(或者没有wsl,可以先完成第三步再下载后面这个内核包),需要额外的内核包,则下载https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi该内核包,并运行安装

安装完后,重启,再次将默认version版本更改为 2

3. 设windows相关配置

导航栏搜索【启用或关闭windows功能】

勾选【适用于linux和Windows子系统】和【虚拟平台】和【Windows 虚拟机监控程序平台】
在这里插入图片描述

以管理员身份运行PowerShell,运行

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

4.Microsoft Store应用商店下载Ubuntu 20或22版本

在这里插入图片描述
第一次启动需要几分钟时间
在这里插入图片描述
然后设置用户名,密码
这时算是安装好了Windows下的linux发行版本了

4.2 使用Winget安装PowerShell(可选)

先搜索最新版的powershell

winget search Microsoft.PowerShell

在这里插入图片描述
如果没有winget的话

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget
以上任选一个版本下载即可

可能出现的问题
没有winget
在PowerShell中运行如下 去安装winget

Install-Module -Name Microsoft.WinGet.Client

更改默认启动的终端
在这里插入图片描述

5.安装docker destop

此时如果在Ubuntu子系统中安装docker,则无法启动docker服务,没有systemctl
可以通过安装docker destop来运行docker

  1. 点此下载安装最新版的docker
  2. 打开docker destop后进入设置页面,打开对应的ubuntu发行版本
    此时无论进入WSL发行版(ubuntu)或者PwerShell都可以进行docker操作了
    在这里插入图片描述

可能出现的问题

docker桌面版,通过左下角点开或者在桌面版上岸 ctrl+, 就会闪退
解决:
暂未解决,打开页面后,直接点击右上角的设置,进入设置页面,不要按ctrl+,或者右下角的标志

或者可以参考这篇-》博客

6.使用VSCODE中在远程容器中开发

1.安装 VS Code WSL 扩展

在这里插入图片描述
此扩展使你能够在 VS Code 中打开在 WSL 上运行的 Linux 项目(无需担心路径问题、二进制兼容性或其他跨 OS 的难题)。

2.安装 VS Code 开发容器扩展(Dev Containers)

在这里插入图片描述
此扩展使你能够打开容器内的项目文件夹或存储库,并利用 Visual Studio Code 的完整功能集在容器中执行开发工作。

3.安装 VS Code Docker扩展(docker)

在这里插入图片描述
此扩展添加了从 VS Code 内生成、管理和部署容器化应用程序的功能。 (需要开发容器扩展才能将容器实际用作开发环境。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/726298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库视图与索引经典题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 视图与索引视图:定义视图创建视图删除视图查询视图视图的作用 索引索引的概念索引的类型设计索引 视图与索引 视图: 视图是从一个或几个基…

RabbitMQ系列(20)--RabbitMQ备份交换机

前言:上一篇文章我们提到当交换机确认消息失败或者交换机发送消息到队列失败,都可以通过回调方法让生产者重新发送消息,除此之外另一种方法就是通过备份交换机的方式保证消息的不丢失,当生产者无法把消息投递给交换机,…

剑指 Offer 67: 把字符串转换成整数

这道题使用的办法是先判断是否有符号,把空格消除,然后用一个标志位判断是否为负数。当遇到这种问题记得调用Integer中的MIN_VALUE和MAX_VALUE这样最方便。 class Solution {public int strToInt(String str) {//去前后空格char[] chars str.trim().toCh…

SpringMVC JDK17 SpringFramework6x Tomcat10遇到的找不到资源404问题以及SercletException

发生资源找不到异常 本人使用Tomcat9 与 jdk17 时无任何冲突可以随便使用 Springframework6x系列 对应的应该时tomcat10版本 在使用过程中遇到两个问题 1.依赖问题 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</a…

【Java】链表LinkedList

文章目录 一、链表1.1 链表的概念1.2 链表的结构 二、LinkedList的简介三、LinkedList的使用3.1 构造方法3.2 常见操作3.3 遍历方法 四、LinkedList的模拟实现五、LinkedList 和 ArrayList 的区别 一、链表 1.1 链表的概念 链表&#xff08;Linked List&#xff09;是一种常见…

hive数据的导入导出

一、hive 的数据导入 Linux本地文件以及数据格式&#xff1a; 在hive中创建表&#xff1a; create table t_user( id int ,name string ) row format delimited fields terminated by "," lines terminated by \n stored as textfile;stored as常见的几种格式 1.…

举例说明ChatGPT模型是怎么进行无监督学习的

ChatGPT&#xff0c;也称为生成式预训练Transformer&#xff08;GPT&#xff09;&#xff0c;是一种基于Transformer架构的自然语言处理模型。虽然在实际应用中&#xff0c;它主要用于有监督学习任务&#xff0c;但在训练初期&#xff0c;它会经历无监督学习阶段。以下是一个简…

LNMP实战部署(电影网站搭建)

第三阶段基础 时 间&#xff1a;2023年7月5日 参加人&#xff1a;全班人员 内 容&#xff1a; 目录 LNMP架构及应用部署&#xff1a;&#xff08;单台服务器部署&#xff09; 一、安装nginx&#xff1a;&#xff08;源码安装&#xff09; 二、安装mysql数据库&#xf…

LVS+Keepalived 群集及搭建

文章目录 一.keepalived 概述1.keepalived服务重要功能1.1 管理LvS负载均衡器软件1.2 支持故障自动切换 (failover)1.3 实现LVS集中节点的健康检查 (health checking)1.4 实现LVS负载调度器 节点服务器的高可用性 (HA) 2. keepalived 高可用故障切换转移原理及VRRP通信原理3.ke…

【C++】提前声明(Forward declaration)好处

C中提前声明&#xff08;Forward declaration&#xff09;好处小结&#xff1a; 减少编译依赖&#xff1a;通过提前声明&#xff0c;可以减少对头文件的依赖。这样可以降低编译时间&#xff0c;因为编译器不需要查看完整的定义&#xff0c;而仅需要知道类型的名称和成员函数的…

利用langchain-ChatGLM实现基于本地知识库的问答应用

目录 1 原理 2 开发部署 2.1 安装环境 2.2 加载本地模型 刷B站的时候&#xff0c;无意中看到吴恩达的一个langchain的教程&#xff0c;然后去github上搜了下&#xff0c;发现别人利用langchain和chatGLM做的基于本地知识库的问答应用挺好的&#xff0c;学习下。 1 原理 基…

yolov8-mnn C++部署

权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a;https://blog.csdn.net/zaibeijixing/article/details/131581809 ———————————————— 目录 准备工作 1、MNN编…

【Android】CheckBox的自定义样式和使用

需求 在登录页面。我们需要有一个复选框&#xff0c;让用户进行勾选&#xff0c;同意我们的流氓政策和协议&#xff0c;不然就不让用。 实现效果 未选择 已选择 我们知道&#xff0c;这个CheckBox的默认样式是一个正方形&#xff0c;现在改成一个圆形的话&#xff0c;首先需…

我的创作纪念日——我与CSDN的1024天

今天是在CSDN创作的第1024天&#xff0c;是一个非常有意义的天数&#xff0c;故写下此篇文章以表纪念之意。 机缘 我为什么会在CSDN写文章呢&#xff0c;那滴从很久很久以前说起。记得是大一的时候&#xff0c;我们的组原课程的授课老师在一次课堂上问起我们&#xff0c;问我…

AIGC - Easy Diffusion (Stable Diffusion) 图像生成工具的环境配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131524075 版本v2.5.41 Stable Diffusion 图像生成工具是一种基于深度学习的技术&#xff0c;可以从随机噪声中生成高质量的图像&#x…

HFSS仿真T型波导学习笔记

HFSS仿真T型波导 文章目录 HFSS仿真T型波导1、求解器设置2、建模3、激励方式设置4、边界条件设置5、扫频设置6、设计检查&#xff0c;仿真分析7、数据后处理 设计要求&#xff1a; 仿真工作频率为10GHz的T型波导 1、求解器设置 模式驱动求解 2、建模 整个T型波导结构分为2…

【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 转载自cpolar极点云文章&#xff1a;【群…

java飞起基础----黑马程序员

阿里代码命名规约 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格&#xff0c;必须遵从驼峰形式。正例&#xff1a; localValue / getHttpMessage() / inputUserId【强制】类名使用 UpperCamelCase 风格&#xff0c;必须遵从驼峰形式&#xff0c;…

在外远程访问NAS威联通(QNAP)-免费内网穿透

文章目录 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 转载自cpolar极点云文章&#xff1a;无需公网IP&#xff0c;在外远程访问NAS威联通QNAP【内…

企业产品指导手册怎么弄成在线版本的啊?

企业产品指导手册作为企业宣传推广和产品销售的重要工具&#xff0c;传统上通常是以纸质形式发放给客户。但随着互联网技术的快速发展&#xff0c;越来越多的企业开始将产品指导手册转化为在线版本&#xff0c;以便更好地满足客户的需求。本文将介绍如何将企业产品指导手册弄成…