docker install新手指南:一次搞定Windows、macOS、Linux三大平台安裝!

docker install新手指南:一次搞定Windows、macOS、Linux三大平台安裝!

在現代軟體開發的浪潮中,容器化技術已從一個新穎概念演變為不可或缺的核心工具。而 Docker,作為這項技術的代名詞,徹底改變了開發人員建構、部署與執行應用程式的方式。它透過將應用程式及其所有相依套件(函式庫、框架、執行環境)封裝在一個輕量、可攜的「容器」(containers)中,確保了應用程式在任何環境下都能以相同的方式一致地運作。

無論您是在本機開發、團隊協作,還是部署到雲端伺服器或Azure VM,Docker 都能消除「在我電腦上可以跑」的窘境,大幅提升開發效率與維運穩定性。對於追求微服務架構、持續整合與交付 (CI/CD) 的團隊而言,Docker 更是實現敏捷開發的基石。

本指南將匯集來自 Microsoft 官方文件與開發者社群的精華,為您提供一份橫跨 Windows、macOS 與 Linux 三大主流作業系統的終極安裝手冊。我們將注重每一個細節,從環境前置準備、不同system的安裝選項比較,到進階設定與常見問題排解,引導您順利完成 Docker 環境的建置,並完成您的第一個docker install。

Windows 上的 Docker 安裝

在 Windows 上安裝 Docker,主要依賴 Docker Desktop 應用程式。然而,其底層技術的選擇——WSL 2 或 Hyper-V——對於效能和使用體驗有著至關重要的影響。

前置需求

在開始安裝前,請確保您的系統符合以下條件:

作業系統版本

  • Windows 11 (64 位元):家用版、專業版、企業版或教育版 (21H2 或更新版本)。
  • Windows 10 (64 位元):建議使用家用版、專業版、企業版或教育版 (22H2 或更新版本)。

硬體

  • 具備二層位址轉譯 (SLAT) 功能的 64 位元處理器。
  • 至少 4GB 系統記憶體。
  • 在 BIOS/UEFI 中已啟用硬體虛擬化技術 (通常標示為 Virtualization Technology, VT-x 或 AMD-V),以支援虛擬機的運行。

核心功能

您需要啟用「適用於 Linux 的 Windows 子系統 (WSL)」或「Hyper-V」其中之一,建議優先使用 WSL 2。

對於更早期的系統如Windows Server 2016,雖然也能執行 Windows containers,但設定流程與本文介紹的 Docker Desktop 有所不同,通常需要直接安裝 Docker 引擎。

核心技術選擇:WSL 2 vs. Hyper-V

Docker Desktop on Windows 需要一個虛擬化後端來執行 Linux 容器。您可以選擇使用 WSL 2 或傳統的 Hyper-V。以下是兩者的比較,以協助您做出選擇:

特性 WSL 2 (建議選項) Hyper-V
效能 極佳。WSL 2 採用輕量級的虛擬機,搭載完整的 Linux 核心,檔案系統操作速度快,啟動時間短。 良好。作為成熟的 Type-1 Hypervisor,提供穩定的效能,但資源開銷較大,啟動較慢。
系統整合度 。與 Windows 檔案系統 (\\wsl$) 和 VS Code 等開發工具無縫整合,提供近乎原生的 Linux 開發體驗。 中等。整合度不如 WSL 2,檔案共享和網路設定相對複雜。
資源管理 動態。WSL 2 會根據需求動態分配與釋放記憶體和 CPU 資源,更具效率。 靜態。Hyper-V虛擬機通常會預先分配固定的資源,可能導致閒置時的資源浪費。
相容性 優異。完整的 Linux 核心支援,意味著幾乎所有 Linux 容器都能穩定執行。 廣泛。支援多種作業系統的虛擬化,不僅限於 Docker。
適用場景 開發人員、在本機建置與測試 Linux 容器、需要高效能與良好開發體驗的使用者。 生產環境、需要高度隔離的場景、或與其他需要 Hyper-V 的應用程式(如舊版模擬器)共存時。

結論:對於絕大多數在 Windows 上進行開發的使用者,強烈建議使用 WSL 2 後端,它提供了更優越的效能和更流暢的開發體驗。

安裝步驟

啟用 WSL 2 功能

以系統管理員身分開啟 PowerShell 或 Windows 終端機,執行以下指令來安裝並啟用 WSL:

powershell wsl –install

此命令會自動下載最新的 Linux 核心、將 WSL 2 設定為預設版本,並安裝 Ubuntu 發行版。完成後,請重新啟動電腦。

下載並安裝 Docker Desktop

  • 前往 Docker Desktop 官方網站
  • 點擊download按鈕,取得適用於 Windows 的安裝程式。
  • 執行安裝程式。在設定選項中,請務必勾選「Use WSL 2 instead of Hyper-V (recommended)」
  • 依照提示完成安裝。安裝程式可能會要求您再次重新開機。

首次啟動與設定

  • 重新啟動後,Docker Desktop 會自動啟動。您會看到服務條款,請點擊「Accept」接受。
  • Docker Desktop 可能會引導您進行一些初始設定,或選擇登入您的 Docker Hub 帳號(可選)。
  • 開啟 Docker Desktop 的設定 (Settings),前往 Resources > WSL Integration,確保您希望與 Docker 整合的 WSL 2 發行版(如 ubuntu)已開啟。

驗證安裝

開啟您的 WSL 終端機 (例如 Ubuntu),或 PowerShell,輸入以下指令,透過docker cli查詢版本信息:

bash docker version

如果您能看到 Client 和 Server 的版本信息,代表 Docker 已成功安裝。您也可以執行 docker info 來查看更詳細的system資訊。接著執行第一個測試容器:

bash docker run hello-world

看到「Hello from Docker!」的歡迎訊息,即表示您的 Docker service已準備就緒。

macOS 上的 Docker 安裝

在 macOS 上安裝 Docker 同樣是透過 Docker Desktop,過程相對單純。

前置需求

  • 晶片類型:請確認您的 Mac 是使用 Intel 晶片還是 Apple 晶片 (M1, M2, etc.)。
  • 作業系統版本:通常需要較新的 macOS 版本,請參考 Docker 官網的具體要求。

安裝步驟

下載 Docker Desktop

  • 訪問 Docker Desktop 官方網站
  • 網站會自動偵測您的 Mac 晶片類型,並提供對應的download連結 (Apple Chip 或 Intel Chip)。點擊下載。

安裝應用程式

  • 下載完成後,打開 Docker.dmg 磁碟映像檔。
  • 在開啟的視窗中,將 Docker 圖示拖曳到「Applications」(應用程式) 資料夾中。

首次啟動與授權

  • 從「應用程式」資料夾中啟動 Docker。
  • 首次啟動時,系統會要求您接受服務條款,點擊「Accept」。
  • macOS 可能會提示您輸入使用者密碼,以授權 Docker 進行一些必要的系統設定。

驗證安裝

打開「終端機」(Terminal) 應用程式,輸入以下指令來檢查版本:

bash docker version

同樣地,執行 hello-world 容器來進行最終測試:

bash docker run hello-world

成功看到歡迎訊息後,您的 Mac 也就準備好迎接容器化的世界了。這代表docker service正在背景正常運作。

Linux (以 Ubuntu 為例) 上的 Docker 安裝

在 Linux 上,您可以直接安裝 Docker 引擎 (Docker Engine),這也被稱為Docker Community Edition,不一定需要圖形化的 Docker Desktop。以下以最常見的 Ubuntu 發行版為例,相關步驟也適用於其他Debian系的system。

安裝方法一:使用官方套件庫 (推薦)

此方法步驟較多,但能確保您安裝的是官方維護的版本,並且方便後續的更新與管理。

移除舊版本

如果系統中存在舊的或非官方的 Docker 套件,請先移除它們以避免衝突。

sudo apt-get remove docker docker-engine docker.io containerd runc

設定 Docker 的 APT 套件庫

  • 更新 apt 套件索引並安裝必要工具:
    sudo apt-get update sudo apt-get install ca-certificates curl gnupg
  • 加入 Docker 官方的 GPG 金鑰:
    sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
  • 設定 Docker 的軟體來源:
    echo \ “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ (. /etc/os-release echo “VERSION_CODENAME”) stable” | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安裝 Docker 引擎

  • 再次更新 apt 套件索引:
    sudo apt-get update
  • 安裝the following最新版本的 Docker 引擎、CLI、Containerd 等元件:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安裝方法二:使用便利腳本 (快速安裝)

Docker 官方提供了一個便利腳本,可以自動化完成所有安裝步驟。這適合快速部署或測試環境。

  1. 下載腳本
    curl -fsSL https://get.docker.com -o get-docker.sh
  2. (可選) 檢視腳本內容
    在執行前,建議先用 less get-docker.sh 或 cat get-docker.sh 查看其內容,了解它將執行的操作。
  3. 執行腳本進行安裝
    sudo sh get-docker.sh

驗證安裝

安裝完成後,Docker service會自動啟動。您可以透過以下指令驗證:

sudo docker version

執行 hello-world 測試(注意,預設需要 sudo 權限),這會從 Docker Hub download一個測試用的image並執行:

sudo docker run hello-world

常見問題 (FAQ)

Q1: 在 Windows 上安裝失敗,提示與 WSL 相關的錯誤,該怎麼辦?

A: 這通常發生在較舊的 Windows 版本或 WSL 設定不完整時。請嘗試以下步驟:

  1. 更新 WSL:以系統管理員身分執行 wsl –update。
  2. 啟用虛擬機器平台:在「啟用或關閉 Windows 功能」中,確保「虛擬機器平台 (Virtual Machine Platform)」和「適用於 Linux 的 Windows 子系統」皆已勾選。
  3. 重新開機:任何與虛擬化相關的功能變更後,務必重新啟動電腦。
  4. 重新執行 Docker 安裝程式

Q2: WSL 2 和 Hyper-V 後端有什麼區別,我應該如何選擇?

A: 簡單來說,WSL 2 為開發者提供了更快的效能、更低的資源消耗和更好的系統整合性,是目前的首選。Hyper-V 則提供更強的隔離性,更適合需要與 Windows Server 環境一致或有特殊隔離需求的場景。詳細比較請參考本文中的表格。

Q3: 如何在 Linux 中讓非 root 使用者也能執行 docker 指令,不必一直加 sudo?

A: 您可以將目前使用者加入 docker 群組。這樣做很方便,但請注意,這等同於給予該使用者 root 等級的權限,因為他們可以掛載系統目錄到容器中進行操作。請謹慎使用。

sudo groupadd docker  # 如果 docker 群組不存在
sudo usermod -aG docker $USER

執行後,您需要登出再重新登入,或執行 newgrp docker 來讓群組變更生效。更安全的做法是設定「Rootless 模式」,但設定過程較為複雜。

Q4: Docker Desktop 的授權條款是什麼?我需要付費嗎?

A: 根據目前的政策,Docker Desktop 對於個人使用者、教育機構、非商業開源專案以及員工數少於 250 人且年營收低於 1000 萬美元的小型企業是免費的。對於大型企業,則需要購買付費訂閱。詳細條款請參考 Docker 官網的最新說明。

Q5: Docker 安裝後,我的映像檔和容器資料儲存在哪裡?

A:

  • Windows (WSL 2):資料主要儲存在一個專屬的 WSL 發行版磁碟映像檔中,通常可以在 Windows 檔案總管中輸入 \\wsl$\docker-desktop-data 訪問。
  • Linux:預設儲存路徑為 /var/lib/docker。您可以透過修改 Docker 的設定檔 (/etc/docker/daemon.json) 來變更此路徑。

順帶一提,您可以透過撰寫Dockerfile來建立自訂的image。

總結

無論您是 Windows 的重度使用者、忠實的 Mac 開發者,還是 Linux 的愛好者,Docker 都提供了對應的解決方案讓您無痛進入容器化的世界。

對於 Windows 用戶,選擇以 WSL 2 為後端的 Docker Desktop 是兼顧效能與整合性的最佳選擇。對於 macOS 用戶,安裝過程直觀簡單,只需跟隨官方指引即可。而對於 Linux 用戶,透過官方套件庫安裝 Docker 引擎則是最穩健、可維護性最高的方法。

成功安裝只是起點。接下來,您可以開始探索如何將您的應用程式打包成映像檔、學習使用 Docker Compose 編排多容器應用,並利用 VS Code 等工具的 Docker 擴充功能,將容器深度整合到您的開發流程中。希望本篇詳細的指南能為您的 Docker 之旅奠定堅實的基礎。

資料來源

返回頂端