[TOOLS] 3 分鐘閱讀OraCore 編輯部

Ubuntu 上安裝 Docker Engine,官方倉庫才是正路

我主張在 Ubuntu 上安裝 Docker Engine 應走 Docker 官方倉庫,而不是套用發行版預設套件,因為這能拿到更新版本、降低相依衝突,並對齊官方支援路徑。

分享 LinkedIn
Ubuntu 上安裝 Docker Engine,官方倉庫才是正路

Ubuntu 18.04 之後,Docker Engine 應從 Docker 官方 Ubuntu 倉庫安裝。

Ubuntu 預設倉庫裡的 Docker Engine 常常落後上游版本,這不是小差異,而是會直接影響修補速度、網路行為與儲存驅動相容性。官方倉庫存在的目的,就是把你安裝到的版本,拉回 Docker 實際測試與文件所對齊的那一條線。

第一個論點:版本新鮮度比安裝方便更重要

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

在容器環境裡,版本差一點,行為就可能差很多。當你在排查 Compose、拉映像、或處理 bridge network 問題時,最怕的不是 bug 本身,而是 A 機器和 B 機器跑的是不同世代的 Docker Engine。官方倉庫把這種差異壓到最低,讓團隊看到的是同一套引擎行為,而不是不同套件源的副作用。

Ubuntu 上安裝 Docker Engine,官方倉庫才是正路

這件事在實務上很具體。Ubuntu 的 distro package 可能因為發行節奏而延後更新,結果就是安全修補、daemon 修正、與新功能支援都晚一步到。對一個每天都在跑 CI、build image、或部署 staging 的團隊來說,晚一步不是抽象風險,而是多一次故障排查、多一次回滾決策。

第二個論點:官方安裝路徑降低可避免的失敗

Docker 的 Ubuntu 安裝文件把步驟拆得很清楚:先加倉庫、再裝套件、再檢查服務狀態。這種順序不是儀式感,而是因為 Docker 會碰到 kernel interface、cgroups、以及 networking,任何一步跳掉,都可能留下半可用的 daemon。對系統層軟體而言,明確流程本身就是穩定性的一部分。

文件還會要求你做安裝後檢查,例如確認 docker group 權限、驗證 daemon 是否正常啟動。這些步驟看起來瑣碎,但它們把「裝上去」和「真的能用」分開處理。工程團隊最常遇到的問題,往往不是缺功能,而是權限沒配好、服務沒起來、或舊套件殘留造成衝突;官方流程正是在減少這類低級但昂貴的錯誤。

反方可能怎麼說

最強的反對意見是:Ubuntu 預設倉庫更簡單。只要一條 apt install,就能完成安裝,腳本好寫、教學好記,對臨時 VM、教室環境、或一次性測試機來說也通常足夠。對很多管理者而言,把軟體留在發行版支援邊界內,心理上也更安心。

Ubuntu 上安裝 Docker Engine,官方倉庫才是正路

另一個合理顧慮是維護成本。外部倉庫越多,信任面越大,升級時要考慮的變數也越多。若環境目標只是「能跑就好」,而不是「每台機器都要一致」,那麼少一個 repo 確實少一層管理負擔。

但這個論點只在 Docker 不重要時成立。一旦 Docker 進入正式開發、CI、或任何需要與其他機器一致的工作流,舊版本帶來的時間成本會迅速超過多加一個官方倉庫的成本。官方路徑的價值,不只是更新,而是把版本、文件、與支援責任綁在一起,避免你在問題發生時還要猜自己到底裝了哪一代。

你能做什麼

如果你是工程師,請把 Docker Engine 的安裝標準化成官方 Ubuntu 倉庫,並把整段安裝與驗證流程寫進自動化,而不是交給手工記憶;如果你是 PM 或創辦人,請把這件事視為平台契約的一部分,明確指定唯一支援的安裝方式,避免團隊把本來可預防的環境差異,變成日常支援工單。