Docker 安裝指南

Docker 安裝指南

文章目標

本篇依據 Docker 官方文件整理,帶你在 Ubuntu 上安裝 Docker Engine(含 Docker CLI、Buildx、Compose Plugin),並完成基本驗證。

本教學情境以 Windows 的 WSL2(Ubuntu 發行版)作為安裝載體。


適用環境

  • Windows 11(建議)或 Windows 10 + WSL2
  • Ubuntu 24.04 LTS、22.04 LTS(64-bit)
  • 已可使用 sudo
  • 網路可連到 download.docker.com

註解
官方對 Ubuntu 衍生發行版(例如 Linux Mint)不提供完整支援,雖然實務上可能可用。


安裝前注意事項

1. 防火牆與封包規則

  • Docker 對外映射連接埠時,可能繞過 ufwfirewalld 的部分規則。
  • Docker 與 iptables-nftiptables-legacy 相容;若你只使用原生 nft 規則,需特別注意。

2. 先移除衝突舊套件

先移除可能衝突的非官方或舊版套件:

1
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

提示
若系統顯示「沒有已安裝套件可移除」屬正常情況。


使用 APT Repository 安裝(推薦)

步驟 1:設定 Docker 官方套件庫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo apt update
sudo apt install -y 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

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

步驟 2:安裝 Docker 套件

1
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步驟 3:確認服務狀態

1
sudo systemctl status docker

若服務尚未啟動:

1
sudo systemctl start docker

步驟 4:驗證安裝

1
sudo docker run hello-world

若看到 Hello from Docker! 代表安裝成功。


安裝後常用檢查

1
2
3
docker --version
docker compose version
docker buildx version

讓非 root 使用者可執行 Docker(選用)

預設需用 sudo 執行 Docker 指令。若想改為一般使用者可直接執行:

1
2
sudo usermod -aG docker $USER
newgrp docker

重新登入後可測試:

1
docker ps

升級 Docker

使用同一套件庫直接升級:

1
2
sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

移除 Docker(需要時)

1. 移除程式套件

1
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2. 刪除資料(會移除所有容器、映像檔、Volume)

1
2
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

3. 移除來源與金鑰

1
2
sudo rm -f /etc/apt/sources.list.d/docker.sources
sudo rm -f /etc/apt/keyrings/docker.asc

常見問題

1. docker: permission denied

通常是目前使用者尚未加入 docker 群組,請參考上方「讓非 root 使用者可執行 Docker」。

2. 找不到套件 docker-ce

請確認:

  • /etc/apt/sources.list.d/docker.sources 已建立
  • GPG 金鑰檔存在於 /etc/apt/keyrings/docker.asc
  • 已執行 sudo apt update

參考資料