本文檔嚴格遵循 Docker 官方的 apt 倉庫安裝方法,這是 Ubuntu 系統上最推薦的「最新官方」安裝途徑,並包含了新一代的 docker compose(v2 插件版)。
本指南適用於 Ubuntu Server 22.04 (Jammy Jellyfish),並使用 Docker 官方的 apt 軟體倉庫來安裝最新版本的 Docker Engine 和 Docker Compose 插件。
如果您之前安裝過非官方版本(例如從 Ubuntu 默認倉庫安裝的 docker.io),請先將其完全卸載。
# 停止並移除所有舊的 Docker 軟體包
sudo apt-get remove docker docker-engine docker.io containerd runc
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 22.04 LTS 官方最新方法安裝 Docker 和 Docker Compose
本指南適用於 Ubuntu Server 22.04 (Jammy Jellyfish),並使用 Docker 官方的 `apt` 軟體倉庫來安裝最新版本的 Docker Engine 和 Docker Compose 插件。
---
## 第一部分:卸載舊版本
如果您之前安裝過非官方版本(例如從 Ubuntu 默認倉庫安裝的 `docker.io`),請先將其完全卸載。
```bash
# 停止並移除所有舊的 Docker 軟體包
sudo apt-get remove docker docker-engine docker.io containerd runc
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
第二部分:設置 Docker 官方 APT 倉庫
我們將告訴 Ubuntu 的 apt 工具去 Docker 官方倉庫下載軟體,而不是 Ubuntu 自己的倉庫。
Bash
# 1. 更新 apt 軟體包索引並安裝依賴
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
# 2. 添加 Docker 官方的 GPG 金鑰
# (這一步是為了驗證下載的軟體包是官方的且未被篡改)
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 3. 設置 Docker 的 APT 倉庫
# (這會在 /etc/apt/sources.list.d/docker.list 中創建一個新檔案)
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] [https://download.docker.com/linux/ubuntu](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 Engine 和 Docker Compose
設置好倉庫後,我們就可以執行安裝了。
Bash
# 1. 再次更新 apt 軟體包索引(因為我們剛添加了新倉庫)
sudo apt-get update
# 2. 安裝 Docker Engine, CLI, Containerd 和 Docker Compose 插件
# (這會一次性安裝所有最新穩定版組件)
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
第四部分:(重要) 後續配置:非 Root 用戶運行
默認情況下,您需要 sudo 才能運行 docker 命令。為了方便,我們將當前用戶添加到 docker 組中。
Bash
# 1. 創建 docker 組(如果它還不存在的話)
# (通常在安裝時已自動創建)
sudo groupadd docker || true
# 2. 將您當前的用戶($USER)添加到 docker 組中
sudo usermod -aG docker $USER
# 3. (關鍵!) 刷新用戶組
# 您必須執行以下兩步之一,才能讓權限生效:
#
# 方法 A:(推薦) 完全登出伺服器,然後重新登入 SSH。
#
# 方法 B:(臨時) 在當前 shell 中激活新組,但可能在某些情況下無效
newgrp docker
第五部分:驗證安裝
在您重新登入伺服器後,執行以下命令來驗證 Docker 和 Docker Compose 是否都已正確安裝並運行。
(注意:驗證時不要使用 sudo,以測試您的非 Root 權限是否配置成功。)
Bash
# 1. 驗證 Docker Engine
# 應該會顯示 Docker 的版本號
docker --version
# 2. 驗證 Docker Compose (V2 插件版,沒有連字符 "-")
# 應該會顯示 Docker Compose 的版本號
docker compose version
# 3. 驗證 Docker Engine 是否能正常運行容器
# 這會下載一個微小的 "hello-world" 鏡像並運行它
docker run hello-world
如果您能看到 hello-world 鏡像的歡迎訊息(Hello from Docker!),則代表 Docker Engine 已 100% 安裝成功。如果您能看到 docker compose version 的版本號,則代表 Compose 插件也已 100% 安裝成功。
您的系統現在已經準備好運行 Docker 和 Compose 了。