windows中搭建Ubuntu子系統

windows中搭建虛擬環境

  • 1.配置
  • 2.windows中搭建Ubuntu子系統
    • 2.1windows配置
      • 2.1.1 確認啟用私有化
      • 2.1.2 將wsl2設置為默認版本
      • 2.1.3 確認開啟相關配置
      • 2.1.4重啟windows以加載更改配置
    • 2.2 搭建Ubuntu子系統
      • 2.2.1 下載Ubuntu
      • 2.2.2 遷移位置
  • 3.Ubuntu子系統搭建docker環境
    • 3.1安裝docker與docker-compose
    • 3.2docker與docker-compose的區別
      • 3.2.1 Docker作用:
      • 3.2.2Docker Compose作用:
      • 3.2.3 區別

1.配置

環境:

  1. 13th Gen Intel? Core? i7-13700H 2.40 GHz;
  2. Windows 11 家庭中文版 64 位操作系統, 基于 x64 的處理器

子系統信息:

  1. Ubuntu 22.04 LTS
  2. docker

2.windows中搭建Ubuntu子系統

由于在開發中,存在部分服務不適配windows,為了更好的接近系統運行的真實環境,故在windows中搭建Ubuntu子系統

2.1windows配置

在 Windows 系統上運行 Linux 發行版。WSL 提供了一個與傳統的 Linux 環境類似的操作體驗,使得在 Windows 上進行開發和運行 Linux 應用程序變得更加便捷。windows11,默認已有wsl2

2.1.1 確認啟用私有化

在windows的任務管理器中查看
在這里插入圖片描述

2.1.2 將wsl2設置為默認版本

在windows的powershell中執行

wsl --set-default-version 2

2.1.3 確認開啟相關配置

在windows菜單中搜索“啟用或關閉windows功能”進行勾選紅色框部分即可
在這里插入圖片描述

2.1.4重啟windows以加載更改配置

2.2 搭建Ubuntu子系統

2.2.1 下載Ubuntu

  1. 通過windows的商店搜索下載
  2. 下載依賴地址
    下載依賴地址中有詳細描述,下載到本地即可;
    在這里插入圖片描述
    點擊.appxbundle文件安裝,等待完成即可;初次啟動,可能需要輸出虛擬機的賬號密碼,根據提示設置即可;
    在powershell執行
wsl -l -v

能夠看到版本:

(base) PS C:\Users\chenyushan> wsl -l -vNAME      STATE           VERSION
* Ubuntu    Stopped         2
(base) PS C:\Users\chenyushan>

2.2.2 遷移位置

  1. 上述安裝,默認情況下,WSL 2 使用一個虛擬硬盤(VHD)來存儲文件;存儲在 Windows 用戶目錄下,路徑類似于:
C:\Users\<YourUsername>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_<version>\LocalState\ext4.vhdx
  1. 運行以下命令來導出當前的 Ubuntu 發行版:
# 將當前的 Ubuntu 發行版導出為一個 tar 文件。
wsl --export Ubuntu D:\IT-SOFT\Ubuntu\Ubuntu.tar
  1. 注銷當前的 WSL 發行版
# 可以理解為移除當前安裝的Ubuntu
wsl --unregister Ubuntu
  1. 導入 WSL 發行版到指定的位置
# 第一個地址是目標位置,第二個地址導出的發行版
# 將 Ubuntu 發行版重新安裝到 D 盤的 D:\IT-SOFT\Ubuntu\Ubuntu2204 目錄中。
wsl --import Ubuntu D:\IT-SOFT\Ubuntu\Ubuntu2204 D:\IT-SOFT\Ubuntu\Ubuntu.tar
  1. 查看狀態
wsl -l -v

7.啟動虛擬環境

# 有多重WSL發行版安裝的情況非常有用 指定啟動的版本名稱“Ubuntu”
wsl -d Ubuntu
#直接在當前的命令行窗口(PowerShell或命令提示符)中啟動默認的WSL發行版
wsl

3.Ubuntu子系統搭建docker環境

3.1安裝docker與docker-compose

  1. 首先進入Ubuntu環境,更新apt包索引(同步軟件源列表、獲取最新信息):
sudo apt-get update
  1. 卸載可能存在的舊版本
apt-get remove docker docker-engine docker-ce docker.io 
  1. 允許APT通過HTTPS協議來訪問存儲庫
    使得APT包管理器能夠通過HTTPS協議與外部存儲庫進行通信
apt-get install -y apt-transport-https ca-certificates curl software-properties-common 
  1. 添加Docker官方GPG密鑰:
    命令使用curl下載Docker官方的GPG密鑰,并通過apt-key add -將其添加到系統的密鑰環中。這樣做是為了確保后續從Docker存儲庫下載的軟件包是經過Docker官方認證的,防止中間人攻擊:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加Docker的APT存儲庫
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. 安裝docker
    簡介:
    docker-ce: 這是Docker社區版的引擎,它是Docker的核心部分,提供了容器運行、鏡像管理等功能。
    docker-ce-cli: 這是Docker的命令行工具(CLI),它允許用戶通過命令行與Docker守護進程進行交互。即使沒有這個包,只要docker-ce已經安裝并且正在運行,也可以使用其他方式(如REST API)與之交互,但是CLI工具是最常用的與Docker通信的方法。
    containerd.io: 這是containerd的二進制文件,它是Docker使用的容器運行時,負責管理容器的生命周期。雖然docker-ce包含了對containerd的依賴,但明確地安裝containerd.io可以確保你獲得最新版本的containerd,而不是依賴于Docker包中所指定的版本。
#  簡單的安裝,自動配置相關版本
apt-get install docker-ce
# 指定安裝相關依賴和版本
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 安裝docker-compose命令:
sudo apt-get install docker-compose

3.2docker與docker-compose的區別

3.2.1 Docker作用:

容器化應用: Docker 允許開發者將應用程序及其所有依賴項打包到一個稱為容器的獨立單元中。這確保了應用程序可以在任何環境中一致地運行。
鏡像管理: Docker 提供了創建、管理和分發這些容器鏡像的能力。鏡像是容器的基礎模板,可以用來創建容器實例。
容器生命周期管理: 使用 Docker,你可以啟動、停止、重啟、刪除容器等操作,并且可以為容器設置資源限制(如 CPU 和內存)。
網絡與存儲: Docker 支持容器間的網絡通信以及數據卷的管理,使得容器能夠共享數據或持久化存儲。

3.2.2Docker Compose作用:

多容器應用編排: Docker Compose 是專門設計來定義和運行多容器 Docker 應用程序的工具。它允許你使用一個 YAML 文件(通常是 docker-compose.yml)來配置應用的服務、網絡和卷等方面。
服務管理: 通過 Docker Compose,你可以定義多個服務(即容器),并指定每個服務使用的鏡像、端口映射、環境變量、卷掛載等。Compose 還支持定義服務之間的依賴關系,以確保正確的啟動順序。
簡化部署流程: 使用簡單的命令(如 docker-compose up 和 docker-compose down),就可以啟動或停止整個應用程序的所有服務,極大地簡化了多容器應用的管理。
環境一致性: 確保開發、測試和生產環境之間的一致性,減少因環境差異導致的問題。

3.2.3 區別

單一 vs 多容器:
Docker 主要用于單個容器的應用場景。
Docker Compose 則針對需要同時運行多個相互關聯容器的應用程序,例如 Web 服務器加上數據庫和緩存服務。
命令行 vs YAML 文件:
Docker 使用命令行參數和 Dockerfile 來定義和構建容器。
Docker Compose 使用 YAML 格式的文件來描述應用架構和服務配置。
復雜度:
對于較簡單的應用場景,直接使用 Docker 命令可能更加直接。
當涉及到復雜的多服務架構時,Docker Compose 可以大大簡化配置和管理工作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901264.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901264.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901264.shtml

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

相關文章

MySQL事務機制

目錄 原子性 持久性 隔離性 隔離級別(并發事務之間的關系) 讀未提交 讀已提交 可重復讀 串行化(最嚴格的隔離級別) 一致性 問題 不可重復讀性(已經提交的數據) 什么是臟讀問題(未提交的數據)? 幻讀 保存點 自動提交機制--autocommit 會話隔離級別與全局隔離級…

Cadence學習筆記之---直插元件的封裝制作

目錄 01 | 引 言 02 | 環境描述 03 | 操作步驟 04 | 結 語 01 | 引 言 在之前發布的Cadence小記中&#xff0c;已經講述了怎樣制作熱風焊盤&#xff0c;貼片(SMD)焊盤、通孔、過孔&#xff0c;以及貼片元件的封裝。 本篇關于Cadence的小記主要講如何制作直插元件的封裝。 …

【第四十周】文獻閱讀:用于檢索-增強大語言模型的查詢與重寫

目錄 摘要Abstract用于檢索-增強大語言模型的查詢與重寫研究背景方法論基于凍結LLM的重寫方案基于可訓練重寫器的方案重寫器預熱訓練&#xff08;Rewriter Warm-up&#xff09;強化學習&#xff08;Reinforcement Learning&#xff09; 創新性實驗結果局限性總結 摘要 這篇論文…

java學習總結(if switch for)

一.基本結構 1.單分支if int num 10; if (num > 5) {System.out.println("num 大于 5"); } 2.雙分支if-else int score 60; if (score > 60) {System.out.println("及格"); } else {System.out.println("不及格"); } 3.多分支 int…

yum的基本操作和vim指令

在我們的手機端或者Windows上下載軟件&#xff0c;可以在相應的應用商店或者官網進行下載&#xff0c;這樣對于用戶來說十分的方便和便捷。而在Linux上&#xff0c;也有類似的安裝方式&#xff0c;我們來一一了解一下。 Linux安裝軟件的3種方法 源代碼安裝 在Linux下安裝軟件…

C++ CUDA開發入門

CUDA開發筆記 文章目錄 CUDA開發筆記[toc]1 概述2 環境3 命令行編譯4 CMAKE引入CUDA5 vscode開發CUDA6 Qt中使用CUDA-CMake7 QMake配置CUDA8 核函數9 核函數調用9.1 核函數調用語法9.2 執行配置參數詳解9.3 關鍵調用步驟9.4 重要注意事項9.5 調用示例分析9.6 最佳實踐建議 10 線…

llm開發框架新秀

原文鏈接:https://i68.ltd/notes/posts/20250404-llm-framework3/ google開源ADK-Agent Development Kit 開源的、代碼優先的 Python 工具包&#xff0c;用于構建、評估和部署具有靈活性和控制力的復雜智能體項目倉庫:https://github.com/google/adk-python 2.6k項目文檔:Age…

VM——相機拍照失敗

1、問題&#xff1a;相機頻閃觸發&#xff0c;在MVS中正常出圖&#xff0c;在VM中出現拍照失敗 2、解決&#xff1a; 1、首先排查網絡設置&#xff08;巨幀是否設置&#xff09; 2、電腦的所有防火墻是否關閉 3、在MVS中恢復相機的設置參數為默認參數&#xff0c;刪除VM中的全…

【時頻譜分析】小波分析

算法配置頁面&#xff0c;也可以一鍵導出結果數據 報表自定義繪制 獲取和下載【PHM學習軟件PHM源碼】的方式 獲取方式&#xff1a;Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

怎么免費下載GLTF/GLB格式模型文件,還可以在線編輯修改

? 現在非常流行glb格式模型&#xff0c;和gltf格式文件&#xff0c;可是之類模型網站非常非常少 1&#xff0c;咱們先直接打開http://glbxz.com 官方glb下載網站 glbxz.com 2 可以搜索&#xff0c;自己想要的模型關鍵詞 3&#xff0c;到自己想下載素材頁面 4&#xff0c;…

【6】深入學習http模塊(萬字)-Nodejs開發入門

深入學習http模塊 前言http一個Web服務器項目創建代碼運行代碼解析 Server屬性&#xff1a;keepAlive屬性&#xff1a;keepAliveTimeout屬性&#xff1a;maxHeaderSize屬性&#xff1a;requestTimeout屬性&#xff1a;maxRequestsPerSocket方法&#xff1a;close()方法&#xf…

buuctf sql注入類練習

BUU SQL COURSE 1 1 實例無法訪問 / Instance cant be reached at that time | BUUCTF但是這個地方很迷惑就是這個 一個 # 我們不抓包就不知道這個是sql注入類的判斷是 get 類型的sql注入直接使用sqlmap我們放入到1.txt中 目的是 優先檢測 ?id1>python3 sqlmap.py -r 1.t…

(即插即用模塊-特征處理部分) 三十二、(TGRS 2024) MDAF 多尺度雙表示對齊過濾器

文章目錄 1、Multiscale Dual-Representation Alignment Filter2、代碼實現 paper&#xff1a;SFFNet: A Wavelet-Based Spatial and Frequency Domain Fusion Network for Remote Sensing Segmentation Code&#xff1a;https://github.com/yysdck/SFFNet 1、Multiscale Dual-…

Python 中為什么 hash(-1) == hash(-2)?

推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰目錄 讓我們從哪里開始?獲取源代碼!讓我們瀏覽一下這是正確/完整的答案嗎?結論前幾天在瀏覽 Reddit 時,我在 r/Python 上看到了這樣一個…

基于PySide6與pycatia的CATIA繪圖比例智能調節工具開發全解析

引言&#xff1a;工程圖紙自動化處理的技術革新 在機械設計領域&#xff0c;CATIA圖紙的比例調整是高頻且重復性極強的操作。傳統手動調整方式效率低下且易出錯。本文基于PySide6pycatia技術棧&#xff0c;提出一種支持智能比例匹配、實時視圖控制、異常自處理的圖紙批處理方案…

macos下 ragflow二次開發環境搭建

參考官網鏈接 https://ragflow.io/docs/dev/launch_ragflow_from_source虛擬環境 git clone https://github.com/infiniflow/ragflow.git cd ragflow/ # if not pipx, please install it at first pip3 install pipxpipx install uv uv sync --python 3.10 --all-extras 安裝 …

libva之ffavdemo分析

ffavdemo 代碼庫實現了一個基于FFmpeg和VAAPI的硬件加速視頻解碼與渲染框架&#xff0c;主要用于演示視頻解碼與渲染的完整硬件加速流程。支持多種渲染后端&#xff08;X11、DRM、EGL&#xff09;&#xff0c;適應不同顯示環境。包含視頻處理過濾器&#xff0c;可進行格式轉換和…

JavaWeb 課堂筆記 —— 09 MySQL 概述 + DDL

本系列為筆者學習JavaWeb的課堂筆記&#xff0c;視頻資源為B站黑馬程序員出品的《黑馬程序員JavaWeb開發教程&#xff0c;實現javaweb企業開發全流程&#xff08;涵蓋SpringMyBatisSpringMVCSpringBoot等&#xff09;》&#xff0c;章節分布參考視頻教程&#xff0c;為同樣學習…

精品推薦 | 湖倉一體電商數據分析平臺實踐教程合集(視頻教程+設計文檔+完整項目代碼)

精品推薦&#xff0c;湖倉一體電商數據分析平臺實踐教程合集&#xff0c;包含視頻教程、設計文檔及完整項目代碼等資料&#xff0c;供大家學習。 1、項目背景介紹及項目架構 2、項目使用技術版本及組件搭建 3、項目數據種類與采集 4、實時業務統計指標分析一——ODS分層設計與數…

【人工智能】大語言模型多義詞解析技術揭秘——以“項目“歧義消解為例

今天田辛老師和小伙伴探討了一個有趣的多義詞問題&#xff0c; 在人工智能技術日新月異的今天&#xff0c;大語言模型&#xff08;LLM&#xff09;對自然語言的理解能力已經達到令人驚嘆的水平。大模型到底是如何去區分多義詞的&#xff1f; 比如&#xff1a;當用戶提到"…