- 1 1. 什麼是 Docker?與 Ubuntu 的關係
- 2 2. 必要環境與前置條件
- 3 3. 安裝與設定 Docker Engine
- 4 4. 讓 docker 指令無需 sudo 執行
- 5 5. 啟動與設定 Docker 服務(daemon)
- 6 6. 啟動 Ubuntu 容器的流程
- 7 7. 容器運維常用指令彙整
- 8 8. 疑難排解/常見問題
- 9 9. 總結與下一步建議
- 10 10. 常見問題 FAQ
- 10.1 Q1. Docker 可用於 Ubuntu Desktop 及 Ubuntu Server 嗎?
- 10.2 Q2. Ubuntu 需要安裝 Docker Desktop 嗎?
- 10.3 Q3. 什麼是 rootless(無 root)模式?
- 10.4 Q4. 如何讓容器擁有永久性儲存空間?
- 10.5 Q5. 如何設定容器或 Docker daemon 的自動啟動?
- 10.6 Q6. Ubuntu 上可運行其他作業系統的 Docker 映像嗎?
- 10.7 Q7. 映像與容器過多如何整理?
- 10.8 Q8. 有哪些支援與資訊來源?
- 10.9 Q9. 怎麼學習 Docker Compose 等多容器管理工具?
- 10.10 Q10. 最新 Ubuntu 版(如 24.04)也能用嗎?
1. 什麼是 Docker?與 Ubuntu 的關係
Docker 是一種將應用程式運行環境打包為「容器」單位的虛擬化技術,無論在任何伺服器或電腦上都能以相同方式運作。與傳統的虛擬機不同,Docker 是直接在主機作業系統上啟動容器,因此可打造更輕量且高效的環境。
特別是像 Ubuntu 這類 Linux 系統,與 Docker 的相容性極高,因此無論是企業還是個人,都有許多開發者與伺服器管理員在使用。原因在於 Ubuntu 本身為開放原始碼、在伺服器用途上普及率高、套件管理容易,且有完善的官方支援。
利用 Docker,就能擺脫「在不同環境無法運作」的煩惱。無論是開發用電腦還是正式伺服器,只要使用 Docker 容器,就能輕鬆重現「一模一樣的環境」。另外,Ubuntu 也是 Docker 官方支援的作業系統之一,安裝步驟和相關資訊都很豐富。
本文將以「在 Ubuntu 上安裝 Docker 並實際啟動 Ubuntu 容器」為主題,為您詳細解說每個步驟。不論您是第一次接觸 Docker,還是已經有經驗、想再次確認基礎的讀者,相信都能有所收穫。
2. 必要環境與前置條件
在 Ubuntu 上使用 Docker 前,需要一些基本條件與準備。為了順利安裝與啟動,這裡先整理出所需環境與事前檢查要點。
關於 Ubuntu 版本
Docker 建議在 Ubuntu 18.04 LTS 以上版本使用。特別推薦「Ubuntu 20.04 LTS」「Ubuntu 22.04 LTS」「Ubuntu 24.04 LTS」等長期支援(LTS)版本。若是舊版 Ubuntu,安裝 Docker 時可能會遇到套件或相依性問題,建議盡量使用最新版 LTS。
系統需求
雖然 Docker 是輕量化的容器技術,但若要運行多個容器或用於開發、測試,仍建議具備以下最低條件:
- 必須安裝 64 位元 Ubuntu(不支援 32 位元)
- 建議 CPU:雙核心以上
- 記憶體:2GB 以上(4GB 以上更為流暢)
- 硬碟可用空間:至少 10GB 以上
網路連線
安裝 Docker 與下載映像檔時需有網路連線。尤其首次安裝時需下載大量資料,請確保網路穩定。
使用者權限
安裝與管理 Docker 需有「sudo」管理員權限。若僅有一般使用者權限,請事先向管理員申請或暫時提升權限。
移除舊版 Docker 套件
若之前曾手動安裝「docker」或「docker.io」等套件,為避免衝突或異常,建議先解除安裝舊套件。
sudo apt-get remove docker docker-engine docker.io containerd runc
這樣可預防舊套件混用導致的問題。
小結
請先確認本章內容、並確保所有環境條件都已準備好,再進行後續安裝與設定。
準備妥當後,Docker 的安裝將非常順利。
3. 安裝與設定 Docker Engine
本節說明如何在 Ubuntu 上安裝 Docker Engine 並進行基本設定。透過官方軟體庫安裝,可確保 Docker 為最新版且穩定。
新增官方軟體庫與前置準備
首先要將 Docker 官方軟體庫加到 apt。所有操作皆在終端機執行,請依照下列步驟操作:
- 安裝必要套件
sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
- 新增 GPG 金鑰
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 新增 Docker 軟體庫
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安裝 Docker Engine
新增軟體庫後即可安裝 Docker Engine。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
安裝完成後,請用以下指令確認 Docker 版本是否顯示:
docker --version
如顯示「Docker version 25.0.3, build 1234567」等表示安裝成功。
關於 Docker Desktop(補充說明)
在 Ubuntu 上通常使用「Docker Engine」,但近年來官方也推出了「Docker Desktop for Linux」。若需要圖形化管理介面可考慮 Docker Desktop,但若主要用 CLI(命令列)操作,Docker Engine 已足夠。
遇到問題時
若出現「找不到套件」等錯誤,請再次檢查軟體庫設定與 GPG 金鑰步驟。此外,若已安裝舊版 Docker 套件,也會造成衝突,請參考第 2 章的移除方法。
4. 讓 docker 指令無需 sudo 執行
Docker 剛安裝完畢時,僅有管理員權限(sudo)才能操作。每次執行指令都加 sudo 不僅麻煩,萬一打錯指令也有可能誤改系統。
因此建議將自己的帳號加入「docker 群組」,就能更安全、便利地操作 Docker。
將使用者加入 docker 群組
- 將目前登入帳號加入 docker 群組
請執行以下指令($USER
會自動代入當前使用者名稱):
sudo usermod -aG docker $USER
- 套用設定
需重新登入帳號設定才會生效。最簡單方法為「登出再登入」。
如需立即生效,可用以下指令:
newgrp docker
- 確認
測試是否可直接執行 Docker 指令。例如執行下列指令能顯示版本資訊即代表成功。
docker version
補充:關於安全性
將帳號加入 docker 群組後雖無需 sudo,但代表該帳號擁有高度權限。在多人共用主機時請特別注意 docker 群組管理。
若僅限個人或開發用途則較無疑慮,公司或伺服器請依據運維規範操作。
完成上述步驟後,操作 Docker 將更加輕鬆便利。
5. 啟動與設定 Docker 服務(daemon)
Docker 會以稱為「daemon」的常駐程序(dockerd
)運作。
安裝完畢後,Docker daemon 會自動設為開機啟動,但若需手動啟動/停止或調整自動啟動設定,也可自行操作。本章將說明 Ubuntu 上 Docker daemon 的啟動與管理方法。
啟動/停止/重啟 Docker daemon
使用 systemctl
指令可輕鬆操作 Docker 服務:
- 啟動
sudo systemctl start docker
- 停止
sudo systemctl stop docker
- 重啟
sudo systemctl restart docker
- 檢查狀態
sudo systemctl status docker
此指令可查看當前運作狀態與錯誤訊息。
自動啟動設定(開機啟用/停用)
在 Ubuntu 上,伺服器重啟時可自動啟動 Docker。
通常安裝時會預設啟用,若需手動調整可使用以下指令:
- 開機自動啟動
sudo systemctl enable docker
- 停用自動啟動
sudo systemctl disable docker
若僅於開發或測試環境需手動啟動,可使用停用設定。
補充:也可用 service
指令操作
舊版 Ubuntu 或習慣者可用 service docker start
等指令操作。但近年建議以 systemctl
為主。
錯誤排查建議
- 若 Docker daemon 無法啟動,請用
sudo systemctl status docker
查詢錯誤。 - 有時因相依套件不足或核心設定不符導致錯誤。
- 可用
journalctl -u docker
查詢詳細日誌。
掌握這些操作即可輕鬆管理 Docker daemon。
6. 啟動 Ubuntu 容器的流程
本節說明如何在 Ubuntu 上啟動「Ubuntu 容器」。
安裝 Docker 後尚未運作任何容器,須下載所需的「容器映像檔」後啟動。以下以 Ubuntu 官方映像檔為範例說明。
1. 取得 Ubuntu 映像檔(pull)
首先,從 Docker Hub(官方映像檔平台)下載 Ubuntu 映像。
如指定「22.04」則安裝特定版本,不指定則為最新版(latest)。
docker pull ubuntu:22.04
或
docker pull ubuntu
兩者皆可,建議明確指定版本。
2. 啟動新的 Ubuntu 容器(run)
根據映像檔啟動 Ubuntu 容器。
最基本的指令如下:
docker run -it --name myubuntu ubuntu:22.04 /bin/bash
-it
:互動模式(進入 shell 操作)--name myubuntu
:自訂容器名稱(可省略)ubuntu:22.04
:所用映像檔/bin/bash
:啟動時執行 bash shell
執行後會進入容器內的 Ubuntu bash shell。
3. 背景模式啟動
伺服器用途或需長時間運作時,可加 -d 參數背景執行:
docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null
此例僅讓容器維持常駐。

4. 停止與重啟容器
- 停止容器
docker stop myubuntu
- 重新啟動容器
docker start myubuntu
5. 狀態查詢
- 查詢正在運作的容器
docker ps
- 查詢所有(含已停止)容器
docker ps -a
小結
本章介紹了從「取得 Ubuntu 映像」→「啟動容器」→「基本管理」的完整流程。實際操作後,您將能體會 Docker 的方便與強大。
7. 容器運維常用指令彙整
Docker 的優勢在於「快速建立、停止與刪除容器」的彈性。本章整理了管理 Ubuntu 容器時最常用的指令,建議多次練習以熟悉操作。
列出容器
- 查詢運作中容器
docker ps
- 查詢所有容器(含停止)
docker ps -a
啟動/停止/重啟容器
- 啟動容器
docker start [容器名稱或ID]
- 停止容器
docker stop [容器名稱或ID]
- 重啟容器
docker restart [容器名稱或ID]
進入/操作容器
- 進入運作中容器(exec)
docker exec -it [容器名稱或ID] /bin/bash
刪除容器
- 刪除容器
docker rm [容器名稱或ID]
- 強制刪除(即使在運作中)
docker rm -f [容器名稱或ID]
刪除映像檔
- 查詢未使用映像檔
docker images
- 刪除映像檔
docker rmi [映像名稱或ID]
其他常用便利指令
- 查看日誌
docker logs [容器名稱或ID]
- 查詢磁碟用量
docker system df
重點整理
- 掌握
docker ps
、docker start
、docker stop
、docker exec
等基本指令,能讓日常維運與排錯更順利。 - 請定期刪除不需要的容器或映像檔,以維持磁碟空間。
8. 疑難排解/常見問題
在運作 Docker 或 Ubuntu 容器時,常會遇到意外錯誤。本章特別針對「ubuntu docker 啟動」相關常見問題與對策說明。
常見問題與對策
1. 「Cannot connect to the Docker daemon」錯誤
此錯誤通常是 Docker daemon(dockerd)未啟動,或權限不足所致。
- 對策:
- 確認 Docker daemon 是否啟動
sudo systemctl status docker
- 若未啟動請執行下列指令
sudo systemctl start docker
- 如需 sudo 請加上,或參考第 4 章將自己加入 docker 群組。
2. 舊版 Docker 套件或衝突問題
若過去安裝過「docker」「docker.io」「docker-engine」等,可能因衝突發生異常。
- 對策:
請先解除安裝舊版套件。
sudo apt-get remove docker docker-engine docker.io containerd runc
3. 容器啟動失敗
有時是映像名稱或指令打錯,或因資源(記憶體、磁碟)不足所致。
- 對策:
- 請檢查映像名稱與指令是否正確
- 用
docker images
查映像是否存在 - 檢查伺服器剩餘磁碟與記憶體
4. 埠號衝突錯誤
若使用已被占用的埠號啟動容器會報錯。
- 對策:
- 指定不同埠號
- 停止現有佔用埠號的程序
5. rootless(無需 root)模式注意事項
近年 Docker 支援「無需 root 權限」運作,但有功能與版本限制,請參考官方文件與錯誤訊息。
實用檢查清單
- 用
docker ps -a
掌握容器狀態 - 用
docker logs [容器名稱]
查錯誤內容 - 用
journalctl -u docker
查詢 Docker 相關系統日誌
重點整理
多數 Docker 問題來自「權限」「版本衝突」「設定錯誤」。
遇到困難時,請仔細閱讀錯誤訊息,必要時重裝或重新設定即可。
9. 總結與下一步建議
本文以「在 Ubuntu 上安裝 Docker 並啟動 Ubuntu 容器」為主題,從基礎到實作逐步解說。
接下來將再次整理重點,並給您進階活用的建議。
本文重點回顧
- Docker 概要與優點
與 Ubuntu 相容性高,可快速重現一致環境。 - 安裝前準備與要點
確認 Ubuntu 版本、硬體需求、權限、舊套件移除等。 - Docker Engine 安裝方法
用官方軟體庫安裝最新版且安全的 Docker。 - 無需 sudo 操作與 daemon 管理
加入群組、systemctl 設定自動啟動/停止。 - Ubuntu 容器啟動與各種指令
建立、管理、運維容器的基本操作。 - 常見問題與解決方法
處理權限、版本衝突等實務問題。
下一步・進階應用
學會基本容器操作後,可嘗試更進階的應用:
- 用 Dockerfile 自訂映像檔
可依需求打造專屬映像檔。 - 用 Docker Compose 管理多容器
適用多服務(如 Web+DB)聯合運作。 - 善用 Volume 與網路功能
達成資料持久化與多容器間通訊。 - 挑戰 Kubernetes 等容器協調工具
更進一步的大規模與自動化運維。
結語
Docker 不僅適合開發環境建置,也廣泛用於伺服器運維、服務發佈與學習實驗。
請親手操作一次,體會其便捷與強大。
若有疑問,歡迎查閱官方文件或加入社群一起學習挑戰。
10. 常見問題 FAQ
本章整理了「ubuntu docker 啟動」及本文主題最常被問到的問題與解答,針對初學者易踩雷與現場常見疑問重點整理。
Q1. Docker 可用於 Ubuntu Desktop 及 Ubuntu Server 嗎?
A.
可以,兩者皆可用,指令與步驟大致相同。但由於 Server 沒有多餘的圖形介面,資源消耗較少,故實際運維常推薦使用 Ubuntu Server 版。
Q2. Ubuntu 需要安裝 Docker Desktop 嗎?
A.
不需要,Ubuntu 僅安裝「Docker Engine」即可。Docker Desktop 雖為圖形化管理工具,但 Linux(Ubuntu)以命令列操作更常見且較少問題,需 GUI 管理或教學時可再考慮。
Q3. 什麼是 rootless(無 root)模式?
A.
rootless 模式指不需 root(管理員)權限即可運行 Docker,適用於提升安全性或多使用者共用環境。但部分功能會有限制,請依需求與政策選用。
Q4. 如何讓容器擁有永久性儲存空間?
A.
可利用「Volume」或「綁定掛載」功能,讓資料不因容器刪除而消失。
範例:
docker run -v /host/path:/container/path ubuntu:22.04
如上,將主機目錄與容器目錄綁定啟動。
Q5. 如何設定容器或 Docker daemon 的自動啟動?
A.
Docker daemon 自動啟動可用第 5 章指令 sudo systemctl enable docker
設定。
若要特定容器開機自動啟動,可於建立時加 --restart=unless-stopped
參數。
範例:
docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null
Q6. Ubuntu 上可運行其他作業系統的 Docker 映像嗎?
A.
基本上「同樣 CPU 架構」的 Linux 映像可直接運行。僅 Windows 專用或不同架構映像不支援。
Q7. 映像與容器過多如何整理?
A.
不需要的容器或映像可用 docker rm
或 docker rmi
刪除。批量清理可用以下指令:
- 刪除所有停止容器
docker container prune
- 刪除未使用映像檔
docker image prune
- 一鍵整理所有無用資料
docker system prune
Q8. 有哪些支援與資訊來源?
A.
Docker 官方文件(https://docs.docker.com/)、Qiita、Stack Overflow 等都有豐富資源。建議直接用錯誤訊息搜尋,通常能找到解答。
Q9. 怎麼學習 Docker Compose 等多容器管理工具?
A.
Docker Compose 能一鍵管理多容器。學習可參考官方文件、教學文或直接讀「docker-compose.yml」範例實作。
Q10. 最新 Ubuntu 版(如 24.04)也能用嗎?
A.
可以,Docker 官方有支援所有最新 LTS 版。只要用最新軟體庫與套件即可穩定運作。