Windows11通过Hyper-V创建VM,然后通过vscode连接vm进行开发

这边需要在win11上建立vm来部署docker(这边不能用windows版本的docker destop),学习了下,记录。

下载系统镜像

首先下载系统镜像:https://releases.ubuntu.com/focal/
这边使用的是ubuntu20.04.6 LTS (Focal Fossa) ,Server install image (无桌面版本)

启用hyper-v

在control-panel里面的 Programs and Features 里面的 Turn Windows features on or off里面,找到hyper-v,打开它,然后重启机器

 使用hyper-v创建VM

重启之后找到hyper-v Manager

打开之后我们先新建Switch Manager

 选择Exteral,然后选择create

然后自定义你的名字,网络类型根据你宿主机使用的网络类型来进行选择,使用网线就选择第二个,使用wifi的话就选择第一个wifi6。选择完成之后直接确定就行了

 

 然后开始新建VM,点击new,选择vm

 这里自定义你的vm名字,下面的check box一定要勾上,自定义vm创建的位置,避免默认创建到C盘,之后占用C太多空间。尽量选择到其他盘去。

 然后第一代还是第二代,看你个人需求进行选择

第一代虚拟机是基于传统的 BIOS 和 IDE 控制器的虚拟机,支持大多数来宾操作系统,包括 32 位和 64 位的 Windows 和 Linux。第一代虚拟机可以使用旧版网络适配器来通过 PXE 启动,也可以从 IDE 控制器的虚拟硬盘或虚拟 DVD 启动。第一代虚拟机还支持软盘控制器和 COM 端口等设备。

第二代虚拟机是基于 UEFI 和 SCSI 控制器的虚拟机,支持大多数 64 位版本的 Windows 和较新版本的 Linux 和 FreeBSD 操作系统。第二代虚拟机可以使用标准网络适配器来通过 PXE 启动,也可以从 SCSI 控制器的虚拟硬盘或虚拟 DVD 启动。第二代虚拟机还支持安全启动、动态内存和在线调整大小等功能。

总的来说,第二代虚拟机比第一代虚拟机具有更高的性能和更多的功能,但不支持一些较旧的操作系统和设备。因此,建议在可能的情况下使用第二代虚拟机,除非有特殊的需求或兼容性问题。

 这里是给你的vm分配运行内存,根据自己的需求(因为我们会涉及到一个mssql 的docker image,它的要求是2G以上,所以分配一个2G以上的就可以了)

 然后是网络选择,选择你一开始创建的的switch名字就行

这边配置你的虚拟硬盘放哪里,以及他的大小,根据自己情况配置就行 

 

 选择系统镜像,指向我们一开始下载好的ubuntu的iso

 然后会出现一个review,确认没有问题就可以开始创建了。

选中新建的vm,右键,选择connect 

初始化系统 

点击start 

 选择安装进程的语言,回车确认

 继续回车

 

 然后等待

 选择系统的语言,回车确认

 variant语言和layout语言是用来设置虚拟机的键盘布局的。variant语言是指键盘的变体,比如中文键盘有普通和拼音两种变体,英文键盘有美式和英式两种变体。layout语言是指键盘的布局,比如QWERTY或者AZERTY等。不同的variant语言和layout语言会影响虚拟机中的按键映射。
默认选择成一样的就行

这里会显示网络detail,我这边demo用的内部交换机,所以没有显示ip,如果是一开始建立的外部交换机,应该会显示一个ip在这里,回车就行了 

 然后是代理设置,没有的话就继续回车

 镜像地址,没有特殊需要设置就回车继续

 这边是挂载硬盘,和具体空间分配
然后设置你的用户名,servername 密码 

 

 然后等待

 等看到这里的时候,选择rebootnow

 如果看到这个,直接回车跳过就行了

 然后等待

 看到这里的时候就可以进行登录了,输入你一开始设置的账户名和密码

 

登录成功之后就可以看到这样

 输入df -h就可以看到具体储存分配 (我是为了测试,分配的比较小,根据实际情况分配你的磁盘空间,尽量大一点,非桌面版本扩容有点麻烦)

 输入ip address ,这里看到这个vm的ip这个需要记录下。之后用vscode需要用

 使用VSCODE 连接vm

在vscode插件里面搜索sftp,安装。

 安装之后,按ctrl+shift+p,找到sftp的config

 然后填写刚刚的IP,然后是你的用户名密码

 

 然后切换到这个sftp的tab里面

 然后在你的项目右键,然后选择open ssh in terminal

 然后再terminal里面输入密码

 就成功连接上了

 然后还是在项目那里右键,选择upload folder,就可以把你的开发代码同步到你的vm里面了,

 这样你在项目里面写的一些dockerfile也可以直接同步到vm上了

然后在terminal就可以用ls进行查看,因为涉及到代码目录结构,我就不展示了

如果接下来需要安装docker 请参考我这篇blog:
​​​​​​​Linux ubuntu 20.4.6安装docker-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js(nest.js控制器)学习笔记

nest.js控制器: 控制器负责处理传入请求并向客户端返回响应。 为了创建基本控制器,我们使用类和装饰器。装饰器将类与所需的元数据相关联,并使 Nest 能够创建路由映射(将请求绑定到相应的控制器)。 1.获取get请求传参…

基于 LLM+LlamaIndex+NebulaGraph,构建大模型知识图谱的检索(RAG)方法

最近,围绕着利用 LLM(Language Model)和知识图谱(KG,Knowledge Graphs)构建RAG(Retrieval Augmented Generation)流程引起了很多关注。 在本文中,让我们通过利用 LlamaI…

代理模式详解(重点解析JDK动态代理)

- 定义 在解析动态代理模式之前,先简单看下整个代理模式。代理模式分为普通代理、强制模式、动态代理模式。其中动态代理模式主要实现方式为Java JDK提供的JDK动态代理,第三方类库提供的,例如CGLIB动态代理。 代理模式就是为其他对象提供一种…

MySQL 汉字字段 拼音排序

原数据 排序后 SELECTc1 FROMtest ORDER BYCONVERT ( c1 USING gbk )

ubuntu20配置mysql8

首先更新软件包索引运行 sudo apt update命令。然后运行 sudo apt install mysql-server安装MySQL服务器。 安装完成后,MySQL服务将作为systemd服务自动启动。你可以运行 sudo systemctl status mysql命令验证MySQL服务器是否正在运行。 连接MySQL 当MySQL安装…

STM32G4 系列命名规则

STM32G4产品线 基础型系列STM32G4x1 具有入门级模拟外设配置,单存储区Flash,支持的Flash存储器容量范围从32到512KB。 增强型系列STM32G4x3 与基本型器件相比具有更多数量的模拟外设,以及双存储区Flash,Flash存储器容量也提高…

springCloud gateway 防止XSS漏洞

springCloud gateway 防止XSS漏洞 一.XSS(跨站脚本)漏洞详解1.XSS的原理和分类2.XSS漏洞的危害3.XSS的防御 二.Java开发中防范XSS跨站脚本攻击的思路三.相关代码(适用于spring cloud gateway)1.CacheBodyGlobalFilter.java2.XssRequestGlobalFilter.java…

【CSS】常见

一. 溢出隐藏 1.1 单行文本溢出 .content{max-width:200px; /* 定义容器最大宽度 */overflow:hidden; /* 隐藏溢出的内容 */text-overflow:ellipsis; /* 溢出部分...表示 */white-space: nowrap; /* 确保文本在一行内显示 */ }问题:display:flex 和 ellipsis 冲…

TensorFlow2实战-系列教程13:Resnet实战1

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 Resnet实战1 Resnet实战2 Resnet实战3 1、残差连接 深度学习中出现了随着网络的堆叠…

React Router 完美教程(下)

我们书接上回,继续我们的React Router 路由之路: 我们到目前为止都没有用到 state、useEffect、redux等状态管理器。但也达到了我们的设计目的。 注意,action 返回的结果 可以在组件中使用 useActionData() 来获取。就像 useLoaderData() 的使…

天软因子数据库新成员——天软指数基金因子库

新闻资讯 News information UPDATE 天软指数基金因子库 天软始终致力于构建完善而丰富的因子库服务体系,陆续推出了股票因子、基金因子、多因子系列等众多因子数据及评价数据。 2024年天软将继续推进各品种因子的深入研究,开年之际天软推出指数基金因子库…

基于EdgeWorkers的边缘应用如何进行单元测试?

随着各行各业数字化转型的持续深入,越来越多企业开始选择将一些应用程序放在距离最终用户更近的边缘位置来运行,借此降低延迟,提高应用程序响应速度,打造更出色的用户体验。 相比传统集中部署和运行的方式,这种边缘应…