windows10 安装WSL2, Ubuntu,docker

news2024/11/26 19:17:12

AI- 通过docker开发调试部署ChatLLM

阅读时长:10分钟

本文内容: window上安装ubuntu虚拟机,并在虚拟机中安装docker,通过docker部署数字人模型,通过vscode链接到虚拟机进行开发调试.调试完成后,直接部署在云端即可.

什么是 WSL

WSL2(Windows Subsystem for Linux)是windows系统默认支持的功能,也就是Windows Linux子系统,类似于一台Linux虚拟机。

安装WSL2

WSL2是虚拟机,虚拟机(电脑)可以安装各个版本的Linux系统:Unbuntu, Centos, Debian

安装 Ubuntu 非常的简单:

  1. 管理员身份运行 Windows PowerShell
  2. 安装 Ubuntu
wsl --install
  1. 启用windows系统对WSL设置
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 重启你的电脑

  2. Win+q,在系统中输入ubuntu,搜索并打开
    在这里插入图片描述

  3. 打开后,由于是第一次启动,会提示创建登录用户名和密码:
    我设置的是 name: ifredom password: 123456
    在这里插入图片描述

关闭之后,如何再次启动?

  1. 方式1:依然是通过 Win+q ,在系统中输入 ubuntu ,搜索并打开
  2. 方式2:在命令行中,输入 WSL 即可

在这里插入图片描述


其他指令

# 查看已安装的子系统
wsl -l
# 查看子系统具体的版本号
wsl -l -v
# 设置以后安装Linux系统时,默认启用WSL2
wsl --set-default-version 2
# 查看所有可安装Linux版本列表
wsl.exe -l -o

windows10 默认安装版本 Ubuntu 2,你也可以安装其他版本 WSL

终端

使用 cmd 很不方便,且不美观,推介使用 windows terminal
Microsoft Store 中搜索 windows terminal, 需要注意的是:安装好之后, windows terminal在系统中的中文名为 终端,所以搜索时需要输入: 终端
在这里插入图片描述

wsl 中安装 docker

这一步目的:为了在 windows 系统上链接你的Ubuntu 系统,以便于在 VScode 中进行开发调试

  1. Windows 上的 Docker Desktop WSL 2
  2. WSL 上的 Docker 容器安装入门 | Microsoft Learn
# docker 是否安装成功. 打开 ubuntu
docker --version

在这里插入图片描述

常用指令

# 查看所有容器:
docker ps -a
# 查看所有镜像:
docker images

docker安装并使用某个镜像。以 nginx 为例:

# 安装 nginx 镜像
docker pull nginx
# 启动 名称为 nginx的容器,容器的镜像为刚下载的 nginx 镜像
docker run --name nginx -p 9696:80 -d nginx
# 谷歌浏览器访问地址:
http://localhost:9696

vscode 通过 SSH 远程连接子系统

vscode 安装 4 个插件:

  1. WSL
  2. Dev Containers
  3. Docker
  4. Remote - SSH

打开 Ubuntu ,在Ubuntu系统上启动 ssh 服务,即:

sudo apt-get update
sudo apt-get install openssh-server
sudo ps -e |grep ssh# 此步可省略,目的在于查看是否启动ssh服务,终端打印sshd字样说明启动了 
sudo service ssh start

在 Ubuntu 系统上初始化公钥,即:

ssh-keygen -t rsa -C "youremail@example.com"

然后 cd ~/.ssh 文件夹下,将公钥写入授权的key,即:

# 命令的作用: 将 `id_rsa.pub` 文件中的内容追加到 `authorized_keys` 文件中.
cat id_rsa.pub >> authorized_keys

查看当前目录下的文件:

ls

接着执行:

# 查看ip
ip addr
# eth0中的ip是你的地址

以上操作均在ubuntu中操作.

在windows中,打开vscode编辑器,vscode 点击左下角, 点击 conect-to-host
在这里插入图片描述

点击 add new SSH host,输入 username@ip地址,在我本地输入的就是:ifredom@192.168.88.99,一路输入密码, 勾选Linux系统,保存即可.

最终成功运行:
![[Pasted image 20230813182817.png]]


加V入群:elitepeace37

------ 如果文章对你有用,感谢右上角 >>>点赞 | 收藏 <<<

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

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

相关文章

针对英特尔酷睿 CPU 优化,Canonical 发布 Ubuntu 实时内核

导读Canonical 今天宣布针对支持时序协调运算&#xff08;TCC&#xff09;和时间敏感网络&#xff08;IEEE TSN&#xff09;的英特尔酷睿处理器&#xff0c;推出优化版实时 Ubuntu 内核。 Canonical 于今年 2 月宣布&#xff0c;为购买 Ubuntu Pro 订阅&#xff0c;使用代号为 …

类加载过程和类加载器

类加载的过程 加载->连接&#xff08;验证->准备->解析&#xff09;->初始化 加载 1.获得二进制字节流&#xff08;可以从本地jar 网络或者动态代理获得&#xff09; 2.转化成方法区中的运行时数据 3.获得类对应的Class对象 加载的过程由类加载器完成&…

opencv实战项目 手势识别-手部距离测量

手势识别系列文章目录 手势识别是一种人机交互技术&#xff0c;通过识别人的手势动作&#xff0c;从而实现对计算机、智能手机、智能电视等设备的操作和控制。 1. opencv实现手部追踪&#xff08;定位手部关键点&#xff09; 2.opencv实战项目 实现手势跟踪并返回位置信息&…

hive高频使用的拼接函数及“避坑”

hive高频使用的拼接函数及“避坑” 说到拼接函数应用场景和使用频次还是非常高&#xff0c;比如一个员工在公司充当多个角色&#xff0c;我们在底层存数的时候往往是多行&#xff0c;但是应用的时候我们通常会只需要一行&#xff0c;角色字段进行拼接&#xff0c;这样join其他…

基于smardaten无代码开发智能巡检系统,让无人机飞得更准

目录 引言需求背景搭建思路开发过程&#xff08;1&#xff09;无人机设备数据接入&#xff08;2&#xff09;无人机巡检任务管理&#xff08;3&#xff09;无人机三维防控监视&#xff08;4&#xff09;运防一体化大屏设计&#xff08;5&#xff09;异常告警管理&#xff08;6&…

nvm安装以及使用

注意事项&#xff1a; 安装前需要卸载原有的node&#xff0c;卸载干净后cmd输入node -v查看&#xff1b; 一&#xff0c;下载nvm 下载&#xff1a;https://github.com/coreybutler/nvm-windows/releases 选择第四个 “nvm-setup.zip”&#xff1b; 二&#xff0c;安装 1&…

Fiddler抓包工具不会用?点这里手把手超详细教学!

Fiddler 是一个 HTTP 协议调试代理工具&#xff0c;它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯。 Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析&#xff1b;可以设置断点调试、截取报文进行请求替换和数据篡改&am…

css 字体渐变样式(设置字体渐变样式+附加实现源码)

问题描述 先看效果图。 解决方案 在对应的css样式里添加如下代码。 我的商品列表在shangpinliebiaobiaotit-view类里面&#xff0c;那么就在shangpinliebiaobiaotit-view设置css渐变样式。 <view class"shangpinliebiaobiaotit-view">商品列表</view&g…

5. 交换机

在上节中&#xff0c;我们创建了一个工作队列。我们假设的是工作队列背后&#xff0c;每个任务都恰好交付给一个消 费者(工作进程)。在这一部分中&#xff0c;我们将做一些完全不同的事情-我们将消息传达给多个消费者。这种模式 称为 ”发布/订阅”. 为了说明这种模式&#xff…

pyspark笔记 pyspark.sql.functions

col qqpyspark 笔记 pyspark.sql.function col VS select_UQI-LIUWJ的博客-CSDN博客 取某一列 lit 创建一个包含指定值的列 date_trunc 将日期截取成由第一个参数指定的字符串值 year, yyyy, yy——截取到年month,mon,mm——截取到月day,dd ——截取到天microsecondmillis…

DAY21

题目一 给定三个字符串str1、str2和aim&#xff0c; 如果aim包含且仅包含来自str1和str2的所有字符&#xff0c;而且在aim中属于str1的字符 之间保持原来在str1中的顺序&#xff0c;属于str2的字符之间保持原来在str2中的顺序&#xff0c;那么称aim是str1和str2的交错组成。实…

ESP32-连接参数/间隔更新

连接间隔的设置是一个协商的过程&#xff0c;ESP32提供了一些协商的接口&#xff0c;按顺序分析一下。 Step 1&#xff1a;首先是Client连接时对Server要求的连接间隔&#xff08;确定值&#xff09; 在连接的时候&#xff0c;Client会把当前的连接间隔发送给Server。在Serve…

Vue.js2+Cesium1.103.0 十一、Three.js 炸裂效果

Vue.js2Cesium1.103.0 十一、Three.js 炸裂效果 Demo ThreeModelBoom.vue <template><div:id"id"class"three_container"/> </template><script> /* eslint-disable eqeqeq */ /* eslint-disable no-unused-vars */ /* eslint-d…

物流行业数据分析

文章目录 物流行业数据分析一、数据预处理1、数据清洗① 重复值、缺失值、格式调整② 异常值处理 2、数据规整 二、 数据分析1、配送服务是否存在问题2、是否存在尚有潜力的销售区域3、商品是否存在质量问题 三、总结参考 物流行业数据分析 Excel适合处理低量级数据&#xff0…

【Hystrix技术指南】(7)故障切换的运作流程原理分析(含源码)

背景介绍 目前对于一些非核心操作&#xff0c;如增减库存后保存操作日志发送异步消息时&#xff08;具体业务流程&#xff09;&#xff0c;一旦出现MQ服务异常时&#xff0c;会导致接口响应超时&#xff0c;因此可以考虑对非核心操作引入服务降级、服务隔离。 Hystrix说明 官方…

解决Idea 多模块,maven项目是多层级文件夹的子项时无法加入git管理的问题

问题 多模块项目&#xff0c;引入模块无法做git管理&#xff0c;第一个项目没有git分支标志&#xff0c;也不能像其他项目一样右键出git选项。 解决方法 发现该模块是多层级的文件夹结构&#xff0c;也就是项目本身在一个文件夹下。应该是要管理该文件夹。 Settings-Versi…

python使用装饰器记录方法耗时

思路 python使用修饰器记录方法耗时&#xff0c;目的是每当方法执行完后&#xff0c;可以记录该方法耗时&#xff0c;而不需要在每个方法的执行前后&#xff0c;去创建一个临时变量&#xff0c;来记录耗时。 方式一&#xff08;不推荐&#xff09;&#xff1a; 在每个方法的…

【java面向对象中static关键字】

提纲 static修饰成员变量static修饰成员变量的应用场景static修饰成员方法static修饰成员方法的应用场景static的注意事项static的应用知识&#xff1a;代码块static的应用知识&#xff1a;单例设计模式 static静态的意思&#xff0c;可以修饰成员变量&#xff0c;成员方法&a…

AbstractQueuedSynchronizer

目录 AQS是什么AQS什么样内部类成员变量方法public如果不使用AQS会怎样 AQS的应用ReentrantLockSyncNonfairSyncFairSync 其他实现 AQS是什么 AbstractQueuedSynchronizer&#xff08;AQS&#xff09;是Java中的一个并发工具&#xff0c;位于java.util.concurrent.locks包中&a…