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.配置
環境:
- 13th Gen Intel? Core? i7-13700H 2.40 GHz;
- Windows 11 家庭中文版 64 位操作系統, 基于 x64 的處理器
子系統信息:
- Ubuntu 22.04 LTS
- 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
- 通過windows的商店搜索下載
- 下載依賴地址
下載依賴地址中有詳細描述,下載到本地即可;
點擊.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 遷移位置
- 上述安裝,默認情況下,WSL 2 使用一個虛擬硬盤(VHD)來存儲文件;存儲在 Windows 用戶目錄下,路徑類似于:
C:\Users\<YourUsername>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_<version>\LocalState\ext4.vhdx
- 運行以下命令來導出當前的 Ubuntu 發行版:
# 將當前的 Ubuntu 發行版導出為一個 tar 文件。
wsl --export Ubuntu D:\IT-SOFT\Ubuntu\Ubuntu.tar
- 注銷當前的 WSL 發行版
# 可以理解為移除當前安裝的Ubuntu
wsl --unregister Ubuntu
- 導入 WSL 發行版到指定的位置
# 第一個地址是目標位置,第二個地址導出的發行版
# 將 Ubuntu 發行版重新安裝到 D 盤的 D:\IT-SOFT\Ubuntu\Ubuntu2204 目錄中。
wsl --import Ubuntu D:\IT-SOFT\Ubuntu\Ubuntu2204 D:\IT-SOFT\Ubuntu\Ubuntu.tar
- 查看狀態
wsl -l -v
7.啟動虛擬環境
# 有多重WSL發行版安裝的情況非常有用 指定啟動的版本名稱“Ubuntu”
wsl -d Ubuntu
#直接在當前的命令行窗口(PowerShell或命令提示符)中啟動默認的WSL發行版
wsl
3.Ubuntu子系統搭建docker環境
3.1安裝docker與docker-compose
- 首先進入Ubuntu環境,更新apt包索引(同步軟件源列表、獲取最新信息):
sudo apt-get update
- 卸載可能存在的舊版本
apt-get remove docker docker-engine docker-ce docker.io
- 允許APT通過HTTPS協議來訪問存儲庫
使得APT包管理器能夠通過HTTPS協議與外部存儲庫進行通信
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方GPG密鑰:
命令使用curl下載Docker官方的GPG密鑰,并通過apt-key add -將其添加到系統的密鑰環中。這樣做是為了確保后續從Docker存儲庫下載的軟件包是經過Docker官方認證的,防止中間人攻擊:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加Docker的APT存儲庫
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安裝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
- 安裝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 可以大大簡化配置和管理工作。