在 Ubuntu 上安裝 Docker Engine

Step-by-step guide to installing Docker Engine on Ubuntu systems.

本文將指導您如何在 Ubuntu 系統上安裝 Docker Engine,包含前置準備、安裝步驟以及潛在問題的處理。

前置條件

  • 操作系統需求:安裝 Docker Engine 需要以下版本的 Ubuntu 64 位元版本:
    • Ubuntu Noble 24.04 (LTS)
    • Ubuntu Mantic 23.10 (EOL: 2024 年 7 月 12 日)
    • Ubuntu Jammy 22.04 (LTS)
    • Ubuntu Focal 20.04 (LTS)
  • 架構支持:支持 x86_64(或 amd64)、armhf、arm64、s390x 與 ppc64le(ppc64el)架構。
  • 防火牆設定注意事項:如果您使用 ufw 或 firewalld 管理防火牆,當您通過 Docker 公開容器端口時,這些端口會繞過您的防火牆規則。

卸載舊版本

在安裝 Docker Engine 前,您需要先卸載任何可能衝突的套件,包括:

1
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

安裝方法

使用 apt 倉庫安裝

  1. 設置 Docker 的 apt 倉庫: 首次在新主機上安裝 Docker Engine 前,您需要設置 Docker 倉庫。以下是設置步驟:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sudo apt-get update
sudo apt-get install ca-certificates curl
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

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
  1. 安裝 Docker Engine: 安裝最新版本的 Docker Engine:
1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 驗證安裝: 通過運行 hello-world 映像來驗證 Docker Engine 的安裝:
1
sudo docker run hello-world

手動安裝

如果無法使用 Docker 的 apt 倉庫,您可以下載 deb 檔案並手動安裝:

  1. 訪問 Docker Ubuntu 下載頁面
  2. 選擇您的 Ubuntu 版本,並下載對應架構的 deb 檔案。
1
2
3
4
5
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

使用便利腳本安裝

Docker 提供了一個便利腳本用於非互動式環境中安裝 Docker:

1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

以非 root 用戶管理 Docker

預設情況下,root 用戶擁有這個 Unix 套接字,其他用戶只能使用 sudo 訪問。如果您不希望每次使用 docker 命令都需要加上 sudo,您可以創建一個名為 docker 的 Unix 群組並將用戶加入其中。

1
2
3
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

請重新登入或重啟虛擬機以使群組變更生效。

卸載 Docker Engine

如果需要卸載 Docker Engine,您可以使用以下命令:

1
2
3
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

以上步驟為在 Ubuntu 上安裝 Docker Engine 的完整指南,適用於不同的安裝需求和環境設定。

參考

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy