windows10 安裝WSL2, Ubuntu,docker

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.pswp.cn/news/43102.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43102.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43102.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

優漫動游零基礎如何學習好UI設計

智能時代的來臨&#xff0c;很多企業都越來越注重用戶體驗這一塊&#xff0c;想要有一個吸引用戶的好頁面&#xff0c;UI設計師崗位不可或缺&#xff0c;如今越來越多的人想要學習UI設計技術&#xff0c;那么對于零基礎小白如何學習好UI設計呢? 零基礎小白如何學習好UI設計…

變更通知在開源SpringBoot/SpringCloud微服務中的最佳實踐

目錄導讀 變更通知在開源SpringBoot/SpringCloud微服務中的最佳實踐1. 什么是變更通知2. 變更通知的場景分析3. 變更通知的技術方案3.1 變更通知的技術實現方案 4. 變更通知的最佳實踐總結5. 參考資料 變更通知在開源SpringBoot/SpringCloud微服務中的最佳實踐 1. 什么是變更通…

Ubuntu在自己的項目中使用pcl

1、建立一個文件夾&#xff0c;如pcl_demos&#xff0c;里面建立一個.cpp文件和一個cmake文件 2、打開終端并進入該文件夾下&#xff0c;建立一個build文件夾存放編譯的結果并進入該文件夾 3、對上一級進行編譯 cmake .. 4、生成可執行文件 make 5、運行該可執行文件 6、可視…

最強自動化測試框架Playwright(30)-JS句柄

在 Playwright 中&#xff0c;JSHandle 是一個表示瀏覽器中 JavaScript 對象的類。它提供了與網頁中的 JavaScript 對象進行交互和操作的方法。 可以通過調用 Playwright中的 evaluateHandle 或 evaluate 方法來獲取 JSHandle from playwright.sync_api import sync_playwrig…

微服務中間件-分布式緩存Redis

分布式緩存 a.Redis持久化1) RDB持久化1.a) RDB持久化-原理 2) AOF持久化3) 兩者對比 b.Redis主從1) 搭建主從架構2) 數據同步原理&#xff08;全量同步&#xff09;3) 數據同步原理&#xff08;增量同步&#xff09; c.Redis哨兵1) 哨兵的作用2) 搭建Redis哨兵集群3) RedisTem…

金融語言模型:FinGPT

項目簡介 FinGPT是一個開源的金融語言模型&#xff08;LLMs&#xff09;&#xff0c;由FinNLP項目提供。這個項目讓對金融領域的自然語言處理&#xff08;NLP&#xff09;感興趣的人們有了一個可以自由嘗試的平臺&#xff0c;并提供了一個與專有模型相比更容易獲取的金融數據。…

Java根據List集合中的一個字段對集合進行去重

利用HashSet 創建了一個HashSet用于存儲唯一的字段值&#xff0c;并創建了一個新的列表uniqueList用于存儲去重后的對象。遍歷原始列表時&#xff0c;如果字段值未在HashSet中出現過&#xff0c;則將其添加到HashSet和uniqueList中。 List<Person> originalList new Ar…

VS2015項目中,MFC內存中調用DLL函數(VC6生成的示例DLL)

本例主要講一下&#xff0c;用VC6如何生成DLL&#xff0c;用工具WinHex取得DLL全部內容&#xff0c;VC2015項目加載內存中的DLL函數&#xff0c;并調用函數的示例。 本例中的示例代碼下載&#xff0c;點擊可以下載 一、VC6.0生成示例DLL項目 1.新建項目&#xff0c;…

mysql中的is null和空字符串

相比于oracle&#xff0c;mysql中的is null 和空坑就沒那么多&#xff0c;直接寫就行。 不為空 and (username is not null and username !)注&#xff1a; 不為空中間用的是and。 為空 and (username is null or username !)注&#xff1a; 為空中間用的是or。

java應用運行在docker,并且其他組件也在docker

docker啟動redis容器 # create redis docker run -d --name redis-container -p 6379:6379 redis:latest創建java 應用 dockerfile FROM openjdk:17##Pre-create related directories RUN mkdir -p /data/etax/ms-app WORKDIR /data/etax/ms-appEXPOSE 10133 COPY ./target…

SQL Server Express 自動備份方案

文章目錄 SQL Server Express 自動備份方案前言方案原理SQL Server Express 自動備份1.創建存儲過程2.設定計劃任務3.結果檢查sqlcmd 參數說明SQL Server Express 自動備份方案 前言 對于許多小型企業和個人開發者來說,SQL Server Express是一個經濟實惠且強大的數據庫解決方…

Spring Framework中的Bean生命周期

目錄 一.Bean生命周期的簡介 1.基本概念 2.Spring生命周期的幾大階段 3.注意點及小結 4.生活案例 5.Spring容器管理JavaBean的初始化過程 二. Bean的單例選擇與多例選擇 1.單例選擇與多例選擇的優缺點 1.1單例模式的優點&#xff1a; 1.2單例模式的缺點&#xff1a; 1…

JDK 8 升級 JDK 17 全流程教學指南

JDK 8 升級 JDK 17 首先已有項目升級是會經歷一個較長的調試和自測過程來保證允許和兼容沒有問題。先說幾個重要的點 遇到問題別放棄仔細閱讀報錯&#xff0c;精確到每個單詞每一行&#xff0c;不是自己項目的代碼也要點進去看看源碼到底是為啥報錯明確你項目引入的包&#x…

第三屆“贛政杯”網絡安全大賽 | 賽寧筑牢安全應急防線

??為持續強化江西省黨政機關網絡安全風險防范意識&#xff0c;提高信息化崗位從業人員基礎技能&#xff0c;提升應對網絡安全風險處置能力。由江西省委網信辦、江西省發展改革委主辦&#xff0c;江西省大數據中心、國家計算機網絡與信息安全管理中心江西分中心承辦&#xff0…

Qt掃盲-QTableView理論總結

QTableView理論總結 一、概述二、導航三、視覺外觀四、坐標系統五、示例代碼1. 性別代理2. 學生信息模型3. 對應視圖 一、概述 QTableView實現了一個tableview 來顯示model 中的元素。這個類用于提供之前由QTable類提供的標準表&#xff0c;但這個是使用Qt的model/view架構提供…

MySQL 存儲過程

create procedure 存儲過程名 &#xff08;in | out | INPUT 參數名 參數類型&#xff0c;。。。&#xff09; 【characteristics 。。。】begin存儲過程體end存儲過程的參數類型 IN 、OUT、INPUT 都可以在一個存儲過程帶多個 沒有參數&#xff08;無參數無返回&#xff09;僅…

ProGuard + SpringBoot3 + JDK17

1、pom依賴 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…

android平臺的語音聊天助手源碼

目錄 1 android平臺的語音聊天助手源碼 1.1 Setting 1.1.1 onChildClick 1.1.2 if (groupPosition == 0) {// 語音識別設置 android平臺的語音聊天助手源碼 Setting onChildClick

神經網絡基礎-神經網絡補充概念-11-向量化邏輯回歸

概念 通過使用 NumPy 數組來進行矩陣運算&#xff0c;將循環操作向量化。 向量化的好處在于它可以同時處理多個樣本&#xff0c;從而加速計算過程。在實際應用中&#xff0c;尤其是處理大規模數據集時&#xff0c;向量化可以顯著提高代碼的效率。 代碼實現-以邏輯回歸為例 i…

邊緣網絡的作用及管理工具

自從引入軟件即服務 &#xff08;SaaS&#xff09; 以來&#xff0c;它一直引領著全球按需軟件部署創新的競賽&#xff0c;它提供的靈活性以及其云計算架構帶來的易于集成使其成為交付業務應用程序的標準。 在 SaaS 模型中&#xff0c;最佳用戶體驗的三重奏涉及無縫設置、低延…