容器化透過將軟體打包到隔離、輕量的環境中,改變了應用程式部署方式,確保了不同系統間的一致性。 Ubuntu Server 上的 Docker 是一個強大的組合,簡化了這一過程,使開發人員和系統管理員能夠無縫地建置、交付和執行應用程式。作為業界領先的容器化平台,Docker 簡化了工作流程,並提高了現代應用程式開發的可擴展性。
在本指南中,我們將引導您完成在 Ubuntu Server 上安裝 Docker 並執行第一個容器化應用程式的步驟。無論您是 Docker 新手,還是希望優化部署過程,本教學都將協助您開始在 Ubuntu Server 上進行容器化。
往期文章:
01. Ubuntu Server 簡介 – SysOSX: AI & Cloud
02. 如何架設您的第一台 Ubuntu 伺服器:初學者指南 – SysOSX: AI & Cloud
03. 掌握 Ubuntu Server 的 Linux 命令列 – SysOSX: AI & Cloud
04. Ubuntu Server 使用者與權限管理:完整指南 – SysOSX: AI & Cloud
05. Ubuntu Server 網路基礎:完整指南 – SysOSX: AI & Cloud
06. 在 Ubuntu Server 上安裝和管理軟體:完整指南 – SysOSX: AI & Cloud
07.Ubuntu Server 的修補程式更新:完整指南 – SysOSX: AI & Cloud
08. 保護您的 Ubuntu 伺服器:強化與防護的實用步驟 – SysOSX: AI & Cloud
09. Ubuntu 伺服器稽核與記錄
10. Ubuntu Server 系統監控工具:完整指南 – SysOSX: AI & Cloud
11. Ubuntu 伺服器集中式記錄:必讀指南 – SysOSX: AI & Cloud
12. Ubuntu Server 稽核與合規:最佳實務 – SysOSX: AI & Cloud
13. 架設 Ubuntu 伺服器用於託管和 Web 應用程式:終極指南 – SysOSX: AI & Cloud
14. 在一台 Ubuntu 伺服器上託管多個網站:實用技巧 – SysOSX: AI & Cloud
15. Ubuntu Server 儲存與磁碟管理:簡明指南 – SysOSX: AI & Cloud
16. 在 Ubuntu Server 上架設檔案共用服務:完整指南 – SysOSX: AI & Cloud
17. 在 Ubuntu 上架設安全的資料庫伺服器:MySQL 與 MariaDB 比較 – SysOSX: AI & Cloud
18. 如何在 Ubuntu Server 上設定和使用 LVM:完整指南 – SysOSX: AI & Cloud
19. KVM 虛擬化簡介:面向 Ubuntu Server 的初學者指南 – SysOSX: AI & Cloud
目錄
先決條件
在安裝 Docker 之前,請確保您的 Ubuntu 伺服器符合以下要求:
- Ubuntu 20.04 LTS 或更新版本 (64 位元)。
- sudo 權限 或 root 存取權限。
- 穩定的網際網路連線 ,用於下載套件。
步驟 1:在 Ubuntu Server 上安裝 Docker
更新系統套件
sudo apt update && sudo apt upgrade -y
安裝所需的相依性
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
新增 Docker 官方 GPG 金鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
設定 Docker 存放庫
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安裝 Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
驗證安裝
sudo docker run hello-world
如果成功,您將看到如下確認訊息 。

步驟 2:以非 root 使用者管理 Docker
預設情況下,Docker 需要 sudo 權限。為避免重複輸入 sudo :
- 建立 Docker 群組 (如果不存在):
sudo groupadd docker - 將您的使用者新增至該群組:
sudo usermod -aG docker $USER - 套用變更:
newgrp docker
步驟 3:執行您的第一個容器
在幾秒鐘內啟動 Nginx Web 伺服器 :
docker run -d -p 8080:80 --name my-nginx nginx
-d:以背景模式執行。-p 8080:80:將主機連接埠 8080 對應到容器連接埠 80。--name:為容器指定自訂名稱。
驗證存取:
curl http://localhost:8080

步驟 4:基本 Docker 命令
| 命令 | 描述 |
|---|---|
docker ps | 列出正在執行的容器 |
docker images | 查看已下載的映像 |
docker stop <container-id> | 停止容器 |
docker rm <container-id> | 刪除容器 |
docker rmi <image-id> | 刪除映像 |
步驟 5:使用 Docker Compose 自動執行工作流程
對於多容器應用程式,請使用 Docker Compose:
- 安裝 Docker Compose:
sudo apt install docker-compose -y
- 建立
docker-compose.yml檔案:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
- 啟動堆疊:
docker-compose up -d

Ubuntu 上 Docker 的最佳實務
- 定期更新 Docker:
sudo apt update && sudo apt upgrade docker-ce -y
- 清理未使用的資源:
docker system prune -a
- 使用官方映像 (來自 Docker Hub ,以確保安全性和可靠性)。
常見問題疑難排解
- 權限遭拒:確保您的使用者位於
docker群組中。 - 連接埠衝突:檢查是否有其他服務正在使用相同的連接埠。
- 映像提取錯誤:驗證網際網路連線和映像名稱拼寫。
Docker 與其他容器化工具比較
儘管 Docker 主導著容器化領域,但了解替代方案有助於為您的使用案例選擇合適的工具:
| 工具 | 類型 | 主要功能 | 最適合 |
|---|---|---|---|
| Docker | 應用程式容器 | – 專注於可攜式的、以應用程式為中心的打包<br>- 龐大的生態系統 (Docker Hub)<br>- 簡單的 CLI 和 Compose | 開發人員、微服務、CI/CD 工作流程 |
| LXD | 系統容器 | – 完整的操作系統環境(類似輕量級虛擬機器)<br>- 與 LXC/Linux 緊密整合<br>- 進階資源管理 | 基礎設施即服務、虛擬機器監控程式替代品 |
| Podman | 應用程式容器 | – 無守護進程架構<br>- 預設無 root<br>- 與 Docker 相容的 CLI | 注重安全的工作負載、邊緣運算 |
| containerd | 容器執行階段 | – 低階執行階段(Docker/Kubernetes 使用)<br>- 極簡設計<br>- 專注於可擴展性 | Kubernetes 叢集、大規模部署 |
| CRI-O | Kubernetes 執行階段 | – 針對 Kubernetes CRI 最佳化<br>- 輕量且安全<br>- 由 Red Hat 支援 | OpenShift/OKD 叢集、Kubernetes 原生維運 |
Docker 為何依然出色
- 對初學者友善:簡化了應用程式開發和測試的工作流程。
- 可攜性:容器在 macOS、Windows 和 Linux 上執行完全一致。
- 社群支援:超過 800 萬個 Docker Hub 映像和詳盡的文件。
何時考慮替代方案
- LXD:需要完整的操作系統隔離(例如,使用不同使用者託管多個服務)。
- Podman:優先考慮安全性(例如,政府/醫療工作負載)。
- containerd/CRI-O:建置 Kubernetes 原生基礎設施。
結論
透過遵循本指南,您已在 Ubuntu Server 上安裝了 Docker 並部署了第一個容器化應用程式。Docker 的靈活性使其在 DevOps、雲端原生開發和混合環境中不可或缺。探索進階功能,例如 Docker Swarm 或 Kubernetes 整合 ,以擴展您的容器工作負載。
參考: Docker 官方文件
接下來做什麼?準備探索面向 Linux 容器的 LXD
既然您已經掌握了用於應用程式容器化的 Docker,讓我們更深入地了解 Linux 系統容器的世界吧! 敬請期待 我們即將發布的指南:
2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”