本文將指導您如何在 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 倉庫安裝
- 設置 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
|
- 安裝 Docker Engine:
安裝最新版本的 Docker Engine:
1
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
- 驗證安裝:
通過運行 hello-world 映像來驗證 Docker Engine 的安裝:
1
|
sudo docker run hello-world
|
手動安裝
如果無法使用 Docker 的 apt 倉庫,您可以下載 deb 檔案並手動安裝:
- 訪問 Docker Ubuntu 下載頁面。
- 選擇您的 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 的完整指南,適用於不同的安裝需求和環境設定。
參考