原文地址:梁桂釗的博客
歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。
WSL2:我在原生的Win10玩轉Linux系統
今天,我跟大家分享一個好玩的東西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基於Hyper-V 功能的子集提供了“真正的 Linux 內核”。怎么理解這句話呢?大家設想,我們平時的研發辦公環境需要Windows,而開發環境需要 Linux 系統,我們會怎么做?
- 方案一:安裝主機雙系統,實現物理隔離。
- 方案二:安裝虛擬機,例如使用 VMware 來實現完整的使用體驗。
- 方案三:使用 Docker 容器。
其中,方案一成本最高,需要兩台以上的物理機,而方案二資源消耗大、運行效率低,而方案三“容器化”方案是我們目前較多采用的方案。而最新的 Windows 版本(對於x64系統:版本1903或更高版本,以及內部版本18362或更高版本)通過 WSL2 技術支持在原生的系統上使用到 Linux 內核,實現 Linux 子系統化。
WSL 2 使用之旅
現在,讓我們來一探究竟吧。要更新到WSL 2,我們必須正在運行 Windows 10。這里,官方對於 Windows 10 版本是由要求的。
- 對於 x64 系統:版本 1903 或更高版本,以及內部版本 18362 或更高版本。
- 對於 ARM64 系統:2004 或更高版本,內部版本19041或更高。
- 低於18362 的內部版本不支持 WSL2。使用 Windows Update Assistant 來更新 Windows 版本。
我們可以通過選擇 Windows徽標鍵+ R
鍵入 winver
,然后選擇確定。
下圖,就是我的電腦的版本號了。如果你運行的是 Windows 10 版本1903 或 1909,請從 Windows 菜單中打開“設置”,導航至“更新和安全”,然后選擇“檢查更新”。
緊接着,我們需要確保開啟 適用於 Linux 的 Windows 子系統
和 虛擬機平台
配置項。
這里,我們也可以以管理員身份打開 PowerShell 用命令方式安裝。
首先啟用 虛擬機平台
功能。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重啟下,啟用 適用於 Linux 的 Windows 子系統
功能。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后呢,我們還需要下載最新 Linux 內核更新程序包。 下載地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安裝完成后,將 WSL 2 設置為默認版本。
wsl --set-default-version 2
最后,我們安裝自己需要的 Linux 發行版。
我比較熟悉使用 CentOS,而應用商店中的 CentOS 是收費版本,而 github 上面有 CentOS 官方開源的安裝包,我們這里使用 github 上的安裝包進行安裝。地址:https://github.com/CentOS/sig-cloud-instance-images/
安裝完畢后,進入命令行,可以查看版本清單。
wsl -list -verbose
通過輸入 wsl
命令都可以進入CentOS7系統。
至此,我們可以在原生的 Windows 10 玩轉 Linux 系統了。
Docker Desktop WSL 2
現在,我來說一個更好玩的特性。因為,WSL 2 引入了重大的體系結構更改,它是由 Microsoft 構建的完整 Linux 內核,允許 Linux 容器在沒有仿真的情況下本機運行。因此,通過在 WSL 2 上運行的 Docker Desktop,用戶可以利用 Linux 工作區。此外,WSL 2 改進了文件系統共享,啟動時間,並允許 Docker Desktop 用戶訪問一些很酷的新功能。Docker Desktop 使用 WSL 2 中的動態內存分配功能極大地減少了資源消耗。這意味着,Docker Desktop僅使用所需數量的所需 CPU 和內存資源,同時使 CPU 和內存密集型任務(如構建容器)運行得更快。此外,使用WSL 2,冷啟動后啟動 Docker 守護程序所需的時間明顯更快。與之前版本的 Docker Desktop 幾乎需要一分鍾相比,啟動 Docker 守護程序所需的時間不到 10 秒。
在安裝 Docker Desktop WSL 2 之前,必須完成以下步驟:
- 下載 Docker Desktop Stable 2.3.0.2 或更高版本。
- 安裝 Windows 10 版本 1903 或更高版本。
- 在 Windows 上啟用 WSL 2 功能。
參考文獻
寫在末尾
【服務端思維】:我們一起聊聊服務端核心技術,探討一線互聯網的項目架構與實戰經驗。讓所有孤軍奮戰的研發人員都找到屬於自己的圈子,一起交流、探討。在這里,我們可以認知升級,連接頂級的技術大牛,連接優秀的思維方式,連接解決問題的最短路徑,連接一切優秀的方法,打破認知的局限。
更多精彩文章,盡在「服務端思維」!