Windows 10 安裝 Docker Desktop for Windows 以 WSL 2 方式運行容器

前言

從內測算起,Windows 10 2020的第一個正式版(v2004)已經打磨了一年之久,不出意外,它會在5月28日開啓全面推送。看到這個消息,對於軟件「潔癖」的我,火燒眉毛的想要進行更新,天天都關注一下 itellyou。5月12日,已經有了最新的更新,爲MSDN版2020第一個正式版,版本號爲v2004(20H1),鏡像爲官方發佈的最新版鏡像。官方發佈的最新集成補丁至202005,系統版本號Build 19041.264。立刻就下來進行了安裝。docker

以前,一直在使用 Docker Desktop for Windows 運行 Docker 進行微服架構的開發。2004出來以前,就發現Docker Desktop for Windows有所變化,其一就是安裝包的大小,從原來的900多M,變爲如今的不到400M;其二新版本的Docker Desktop for Windows一直在建議使用WSL 2進行容器的運行。藉着重裝系統的機會,折騰了一下,初次研究着須要費一些精神。把整個過程整理下來。shell

軟件版本

注意事項

Windows 10 的 WSL 2 須要依賴於, Microsoft Store中的應用。適用於 Linux 的 Windows 子系統只能在系統驅動器(一般是 C: 驅動器)中運行,因此注意C盤的空間。windows

1、在 Windows 10 上安裝 Hyper-V

Docker Desktop 想要在Windows上運行,須要依賴於Windows的Hyper-V模塊。因此首先就要啓用Hyper-V。架構

啓用 Hyper-V 以在 Windows 10 上建立虛擬機。能夠經過多種方式啓用 Hyper-V,包括使用 Windows 10 控制面板、PowerShell 或使用部署映像服務和管理工具 (DISM)。app

(1) 檢查要求

  • Windows 10 企業版、專業版或教育版
  • 具備二級地址轉換 (SLAT) 的 64 位處理器。
  • CPU 支持 VM 監視器模式擴展(Intel CPU 上的 VT-c)。
  • 最少 4 GB 內存。
請勿在 Windows 10 家庭版上安裝 Hyper-V。

(2) 方式1、使用 PowerShell 啓用 Hyper-V

  1. 管理員身份打開 PowerShell 控制檯。
  2. 運行如下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
若是沒法找到此命令,請確保你以管理員身份運行 PowerShell。

安裝完成後,請重啓操做系統。工具

(3) 方式2、使用 CMD 和 DISM 啓用 Hyper-V

部署映像服務和管理工具 (DISM) 可幫助配置 Windows 和 Windows 映像。在衆多應用程序中,DISM 能夠在操做系統運行時啓用 Windows 功能。ui

使用 DISM 啓用 Hyper-V 角色:spa

  1. 管理員身份打開 PowerShell 或 CMD 會話。
  2. 鍵入下列命令:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

在這裏插入圖片描述

(4) 方式3、經過「設置」啓用 Hyper-V

  • 右鍵單擊 Windows 按鈕並選擇「應用和功能」。(左下角Windows圖標)
  • 選擇相關設置下右側的「程序和功能」。
  • 選擇「打開或關閉 Windows 功能」。
  • 選擇「Hyper-V」,而後單擊「肯定」。

在這裏插入圖片描述

安裝完成後,系統會提示你重啓計算機。

2、適用於 Linux 的 Windows 子系統安裝

(1) 安裝適用於 Linux 的 Windows 子系統

必須先啓用「適用於 Linux 的 Windows 子系統」可選功能,而後才能在 Windows 上安裝 Linux 分發版。操作系統

管理員身份打開 PowerShell 並運行:命令行

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
若要僅安裝 WSL 1,如今應重啓計算機並繼續安裝所選的 Linux 分發版,不然請等待重啓並繼續更新到 WSL 2

(2) 更新到 WSL 2

2.1 若要更新到 WSL 2,必須知足如下條件:

  • 運行 Windows 10(已更新到版本 2004 的內部版本 19041 或更高版本)。
  • 經過按 Windows 徽標鍵 + R, 檢查你的 Windows 版本,而後鍵入 winver,選擇「肯定」 。 (或者在 Windows 命令提示符下輸入 ver 命令)。 若是內部版本低於 19041,請更新到最新的 Windows 版本。

2.2 啓用「虛擬機平臺」可選組件

安裝 WSL 2 以前,必須啓用「虛擬機平臺」可選功能。

管理員身份打開 PowerShell 並運行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
從新啓動計算機,以完成 WSL 安裝並更新到 WSL 2。

2.3 將 WSL 2 設置爲默認版本

安裝新的 Linux 分發版時,請在 Powershell 中運行如下命令,以將 WSL 2 設置爲默認版本:

wsl --set-default-version 2

(3) 安裝所選的 Linux 分發版

  1. 打開 Microsoft Store,並選擇你偏好的 Linux 分發版 (若是上述鏈接打開有錯,請直接打開Microsoft Store搜索)。

在這裏插入圖片描述
單擊如下連接會打開每一個分發版的 Microsoft Store 頁面,(若是下述鏈接打開有錯,請直接打開Microsoft Store搜索)。:

  1. 在分發版的頁面中,選擇「獲取」。

在這裏插入圖片描述

(4) 設置新分發版

首次啓動新安裝的 Linux分發版時,將打開一個控制檯窗口。(就是以前安裝的應用)
在這裏插入圖片描述

系統會要求你等待一分鐘或兩分鐘,以便文件解壓縮並存儲到電腦上。將來的全部啓動時間應不到一秒。

而後,須要爲新的 Linux 分發版建立用戶賬戶和密碼。
在這裏插入圖片描述

(5) 將分發版版本設置爲 WSL 1 或 WSL 2

能夠打開 PowerShell 命令行並輸入如下命令(僅在 Windows 內部版本 19041 或更高版本中可用),來檢查分配給每一個已安裝的 Linux 分發版的 WSL 版本:

wsl -l -v

wsl --list --verbose
經過以上命令,就能夠查看剛剛已經安裝的Linux發行版本,以及當前的WSL版本

在這裏插入圖片描述

若要將分發版設置爲受某一 WSL 版本支持,請運行:

wsl --set-version <distribution name> <versionNumber>

請確保將 <distribution name> 替換爲你的分發版的實際名稱,並將 <versionNumber> 替換爲數字「1」或「2」。 能夠隨時更改回 WSL 1,方法是運行與上面相同的命令,但將「2」替換爲「1」。

此外,若是要使 WSL 2 成爲你的默認體系結構,能夠經過此命令執行該操做:

wsl --set-default-version 2

這會將安裝的任何新分發版的版本設置爲 WSL 2。

Docker Desktop 須要的就是 WSL 2

3、安裝Docker Desktop for Windows

  1. 雙擊運行 Docker Desktop Installer.exe 安裝。(爲了不不可預知的問題,最好用右鍵「以管理員身份運行」)。跟隨安裝界面,一路下一步便可。全部的選項都採用默認。安裝成功後,點擊「Close」關閉窗口。
  2. 安裝成功後,運行 Docker Desktop
  3. 打開 Docker Desktop Settings,選擇General

在這裏插入圖片描述

  1. 勾選Use WSL 2 based engine
若是在已經支持WSL的操做系統上,安裝Docker Desktop,那麼這個選項是被默認選中的。

若是不選中Use WSL 2 based engine,Resources下面就會回到以前版本的模樣。本身制定CPU、內存等信息。可是該版本指定這些信息會出錯。

在這裏插入圖片描述

  1. 點擊 Apply & Restart。
  2. 請確保Linux發行版本是運行在WSL 2 模式下。WSL 在V1 和 V2 兩種模式下均可以運行。

檢查 WSL 模式,運行下面的命令:

wsl -l -v

若是現有的WSL 是v1,經過下面的命令能夠升級爲 v2:

wsl --set-version (distro name) 2

想要把 v2 設置爲默認模式,能夠經過下面的命令:

wsl --set-default-version 2
  1. 當 Docker Desktop 重啓以後, 進入 Settings > Resources > WSL Integration

在這個界面中,選擇任何你想要使用的Linux發行版本。

在這裏插入圖片描述

  1. 點擊 Apply & Restart。

4、查看效果

以上內容完成以後,主要工做就已經完成了。能夠安裝運行幾個容器查看效果。

若是以爲默認的倉庫慢,能夠在Settings>Docker Engine中的「registry-mirrors」配置你本身的加速器。

驗證方法:

  1. 首先在Windows PowerSell中,輸入:
wsl -l -v

就能夠查看到,多了docker desktop的信息。

在這裏插入圖片描述

  1. 在Windows CMD中,經過命令隨便運行幾個容器(我是經過docker-compose, 運行本身的鏡像)。在Linux中,就能夠查看到已經運行的容器信息。

在這裏插入圖片描述
在這裏插入圖片描述

參考資料:

1: https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
2: https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
3: https://docs.docker.com/docker-for-windows/wsl/

相關文章
相關標籤/搜索