- 1. 引言
- 2. “Docker -> WSL -> Windows”的依賴邏輯
- 3. 安裝方法
- 3.1 安裝WSL
- 3.2 安裝Docker Desktop
- 4. 是否安裝成功?初始化一個容器試試。
- FAQ
1. 引言
Docker是一個用於建立、管理和編排容器的應用。容器是執行在作業系統上的一個應用,具有規模小、輕量化的特性。相對於虛擬機器技術,容器可以為我們節省大量的系統資源,也正因此,容器可以輕鬆地在裸機系統以及多種雲服務環境中移動。由於Docker是依賴Linux核心的應用,在Linux系統和MacOS系統中安裝Docker相對於Windows系統來說比較簡單,然而,大部分初學者使用的是Windows系統的電腦,在安裝Docker過程中遇到了需要安裝WSL、開啟CPU虛擬化等問題,這些問題很容易造成安裝過程混亂並導致安裝失敗。因此,本文特意針對Windows系統中安裝Docker應用過程進行了詳細講解,幫助讀者釐清Docker應用的安裝邏輯,實現Docker應用在Windows系統的成功安裝和執行。
2. “Docker -> WSL -> Windows”的依賴邏輯
作為一個容器應用,Docker與Linux系統頗有淵源:現代容器技術的是起源於Linux系統的。Linux系統的核心名稱空間(Kernel Namespace)、控制組(Control Group)和聯合檔案系統(Union File System)技術是容器所依賴的基礎,Docker所遵循的開放容器計劃(The Open Container Initiative, OCI)也是在Linux基金會的支援下執行和發展。所以,要安裝Docker,就要先有個Linux系統核心支援。在Windows系統上如何獲得Linux系統核心支援呢?答案是使用WSL。WSL是適用於 Linux 的 Windows 子系統,可用於在 Windows 計算機上執行 Linux 環境,而無需單獨的虛擬機器或雙引導。有關WSL的具體介紹可以參考微軟官方的介紹“什麼是適用於 Linux 的 Windows 子系統 | Microsoft Learn”。綜上,要想在Windows上安裝Docker應用,首先要安裝WSL以獲得Linux核心支援,然後再安裝Docker Desktop應用以執行Docker核心和Docker的圖形化操作介面。
3. 安裝方法
3.1 安裝WSL
在管理員模式下開啟 PowerShell 或 Windows 命令提示符應用,開啟時要用右鍵單擊並選擇“以管理員身份執行”,在終端視窗輸入wsl --install
命令並執行,執行完成後重啟計算機。
wsl --install
WSL會預設安裝Linux系統的Ubuntu發行版系統,如果僅為了安裝Docker提供Linux核心支援,則使用此預設髮型版系統即可。
3.2 安裝Docker Desktop
WSL安裝完成後,下載並安裝Docker Desktop。進入Docker官網”,下載對應系統版本的安裝程式,即"Download for Windows"。下載完成後,雙擊安裝包進行安裝,安裝完成後,開啟Docker Desktop應用可以看到初始介面。在介面中需要重點注意的是左下角的Docker核心執行狀態是否為綠底顯示的“Engine Running”或者“”。
4. 是否安裝成功?初始化一個容器試試。
開啟命令列終端,我們可以使用docker container
命令初始化一個容器。
$ docker container run -it debian:stable /bin/bash
Unable to find image 'debian:stable' locally
stable: Pulling from library/debian
…(省略)
Status: Downloaded newer image for debian:stable
$ [root@docker-id]#
當你看到命令列介面多出了[root@docker-id]#
之後,說明你已經成功的進入了CentOS系統了。接下來,我們可以在容器(Container)中嘗試幾個簡單的命令:
(1)使用pwd命令檢視所在目錄
(2)使用ls命令檢視目錄下的檔案列表
當我們想退出docker環境,回到我們的本機的shell,可以使用exit命令退出。
除了使用命令列操作Docker之外,我們也可以使用Docker Desktop這個圖形化介面進行映象管理、容器管理、資料卷管理等操作,操作介面很直觀,本文不多贅述。
至此,Docker就安裝成功了,我們可以使用Docker隨時隨地的建立帶有系統、應用及服務的容器了。
FAQ
- 微軟官方對於WSL安裝的更詳細介紹可見“安裝 WSL | Microsoft Learn”。
- WSL安裝過程中可能遇到的常見問題解決方案可見“排查適用於 Linux 的 Windows 子系統問題”.