如何在 Linux 上安裝 Docker?



Docker 透過允許程式設計師將其應用程式及其所有依賴項捆綁到稱為容器的小型輕量級單元中,徹底改變了軟體開發行業。透過將應用程式與底層作業系統分離,這些容器在各種環境中提供可靠的效能和輕鬆的部署。

如果您是希望利用容器化的 Linux 使用者,那麼本章正是您應該閱讀的地方。您將能夠使用各種方法在您的 Linux 系統上安裝 Docker,本詳細指南將對此進行解釋。無論您是想使用預構建的軟體包、下載 DEB 檔案還是使用便捷的安裝指令碼,我們都將根據您的需求提供詳細的說明。

我們將詳細討論以下在 Linux 上安裝 Docker 的方法:

  • 使用 apt 倉庫安裝
  • 從軟體包安裝
  • 使用便捷指令碼安裝

因此,讓我們瞭解一下在 Ubuntu 上安裝 Docker 的這些方法。

在 Linux 上安裝 Docker 的先決條件

在開始 Docker 安裝過程之前,請確保您的 Linux 系統滿足先決條件。這將確保 Docker 安裝順利且最佳地完成。

使用 64 位架構 - Docker 在 64 位環境中執行效果最佳。您可以在終端中使用“uname -m”命令來確認系統的架構。如果您的系統是 32 位,則很難直接安裝 Docker。但是,網際網路上提供了針對特定用例的替代解決方案。

Docker Installation 1

使用核心版本 3.10 或更高版本 - Docker 需要穩定的 Linux 核心才能按預期和最佳方式工作。您可以驗證您正在使用的核心版本是否為 3.10 或更高版本。

您可以在終端中使用“uname -r”命令來做到這一點。這將為您提供核心的版本。如果需要更新,您可以檢視發行版的文件以確定最佳的操作步驟。

Docker Installation 2

包管理器 - 安裝 Docker 的方法在很大程度上取決於 Linux 發行版的包管理器。APT(Ubuntu/Debian)和 Yum(Red Hat/CentOS)是兩個流行的例子。

如果您熟悉這些發行版,最好遵循特定於您的發行版的安裝指南。在本章中,我們將討論 Ubuntu 的方法。其他 Linux 發行版可以使用類似的命令,具體取決於其包管理器。

其他注意事項

虛擬化支援 - 您應該確保您的系統與硬體虛擬化技術(如 KVM)相容,以獲得更好的效能。這在執行特定容器化應用程式時尤其重要。

Sudo 訪問許可權 - 幾乎所有安裝方法都需要 sudo 訪問許可權,因此請確保您已準備好。

滿足這些要求後,您就可以在 Linux 機器上以最佳方式安裝 Docker 了。在下一節中,我們將探討不同的安裝技術,敬請關注!

使用 APT 倉庫安裝 Docker

在首次在新主機上安裝 Docker Engine 之前,務必設定 Docker 倉庫。之後,您可以輕鬆地從此倉庫安裝或更新 Docker。要設定 Docker 的 apt 倉庫,您可以使用以下命令集。

$ sudo apt-get update
Docker Installation 3
$ sudo apt-get install ca-certificates curl
Docker Installation 4
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
Docker Installation 5

下一步是將倉庫新增到 Apt 源。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] 
      https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
Docker Installation 6

注意 - 如果您使用的是 Ubuntu 的其他衍生版本,例如 Linux Mint 或其他版本,則可能需要在上述命令中將 VERSION_CODENAME 替換為 UBUNTU_CODENAME。

下一步是安裝 Docker 軟體包。要安裝最新版本,您可以執行以下命令:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker Installation 7

安裝完成後,您可以透過執行 hello-world 映象來驗證安裝是否成功。

$ sudo docker run hello-world
Docker Installation 8

上述命令從 Docker 倉庫下載 hello-world 映象,並執行與其關聯的容器。它列印一條訊息並退出。這驗證了 Docker 引擎在您的 Ubuntu 主機上成功安裝。

除了安裝最新版本之外,您還可以使用以下命令集安裝特定版本的 Docker 引擎。第一個命令列出 Ubuntu 可用的 Docker 版本。

# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'
Docker Installation 9

然後,您可以將所需的版本設定為變數,並使用以下命令安裝它。

$ VERSION_STRING=5:26.1.1-1~ubuntu.22.04~jammy
$ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING 
   containerd.io docker-buildx-plugin docker-compose-plugin

從軟體包安裝 Docker

除了從 APT 倉庫安裝 Docker 之外,您還可以手動下載特定發行版本的 deb 檔案並安裝它們。但在這種情況下,如果要升級 Docker 引擎版本,則必須手動執行。

  • 訪問 https://download.docker.com/linux/ubuntu/dists/
  • 然後,從此列表中選擇 Ubuntu 的版本。
  • 然後,轉到路徑 - pool/stable 並選擇 Linux 主機的架構(amd64、armhf、arm64 或 s390x)。
  • 之後,您需要下載以下 deb 檔案。
    • containerd.io_<version>_<arch>.deb
    • docker-ce_<version>_<arch>.deb
    • docker-ce-cli_<version>_<arch>.deb
    • docker-buildx-plugin_<version>_<arch>.deb
    • docker-compose-plugin_<version>_<arch>.deb
  • 下載完成後,您可以使用以下命令安裝這些軟體包。這也會自動啟動 Docker 守護程序。
$ sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
   ./docker-ce_<version>_<arch>.deb \
   ./docker-ce-cli_<version>_<arch>.deb \
   ./docker-buildx-plugin_<version>_<arch>.deb \
   ./docker-compose-plugin_<version>_<arch>.deb

$ sudo service docker start

使用便捷指令碼安裝 Docker

您還可以使用 Docker 在 https://get.docker.com/ 提供的便捷指令碼安裝 Docker。這對於開發環境很有用,但不建議用於生產環境。但它對於建立針對生產環境定製的配置指令碼也很有用。

這些是指令碼執行的操作以及其限制

  • 要執行,指令碼需要 root 或 sudo 許可權。
  • 指令碼會嘗試識別您的 Linux 版本和發行版,併為您設定包管理器。
  • 您無法使用指令碼更改大多數安裝引數。
  • 軟體會安裝建議和先決條件,而無需請求批准。這可能會安裝大量軟體包,具體取決於您主機當前的配置方式。
  • 指令碼預設安裝最新穩定版本的 runc、containerd 和 Docker。如果使用此指令碼配置機器,Docker 版本可能會意外地大幅升級。在將升級部署到生產系統之前,應始終在測試環境中進行測試。
  • 該指令碼不旨在升級已存在的 Docker 安裝。使用指令碼更新已存在的安裝時,依賴項可能不會更新到預期的版本,從而導致版本過時。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

在基於 Debian 的發行版上,Docker 引擎會自動啟動。在基於 RPM 的發行版上,您可以使用 systemctl 或 service 命令手動啟動它。

如何在 Linux 上解除安裝 Docker 引擎?

在 Ubuntu 上解除安裝 Docker 引擎很簡單。您可以使用以下命令解除安裝 Docker 軟體包,然後刪除所有配置和映象、容器等。

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io 
   docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd

結論

您現在已成功在 Linux 機器上安裝了 Docker Engine。在本綜合指南中,您學習瞭如何從 APT 倉庫安裝 Docker,如何透過下載軟體包安裝,以及如何使用便捷指令碼安裝。

您可以選擇最適合您需求的方法。我們還解釋了完全解除安裝 Docker Engine 的步驟,以防您想將其刪除或安裝其他版本。

常見問題

Q1. Docker 在 Linux 上免費嗎?

確實,獨立開發人員和愛好者可以使用 Docker 的免費社群版。此版本包含建立、執行和維護容器的所有必要功能。

Docker 的免費版本非常適合剛開始使用 Linux 的使用者,而訂閱計劃則附帶其他功能,例如私有登錄檔和企業支援。

Q2. Docker 需要多少 RAM?

您執行的容器的複雜性將決定 Docker 需要多少記憶體。為基本 Docker 使用預留至少 2GB 的 RAM 是一個合理的經驗法則。但是,在容器內部使用大量記憶體的應用程式可能需要更多記憶體。

注意系統正在使用多少 RAM,並根據需要修改分配。

Q3. Docker 是虛擬機器嗎?

不是,虛擬機器 (VM) 和 Docker 容器之間存在一些顯著差異。Docker 容器共享宿主的核心,但虛擬機器 (VM) 模擬整個作業系統。因此,容器比虛擬機器輕量級且啟動速度更快。

可以將虛擬機器 (VM) 視為計算機內部的完整計算機,而容器則是共享相同資源的不同程序。

Q4. Docker 對初學者友好嗎?

雖然 Docker 有一定的學習曲線,但其基本理念非常簡單。面向初學者的線上資源和教程非常豐富。Docker 可用於最佳化開發流程,因為它可以將應用程式及其依賴項打包成單獨的部分。

初學者只需付出少量努力即可利用 Docker 的功能來改善他們的開發體驗。

Q5. 哪種 Linux 作業系統最適合 Docker?

大多數流行的 Linux 發行版(包括 Fedora、Ubuntu、Debian 和 CentOS)都對 Docker 提供了良好的支援。“最佳”作業系統取決於您的舒適度和喜好。如果您是 Linux 新手,Ubuntu 是一個廣受歡迎的選擇,以其使用者友好性而聞名。

最終,Docker 應該與任何具有強大包管理器的當前 Linux 發行版相容。

廣告