🐳 Docker & Kubernetes 雲端部署實戰
你是否有過這樣的經驗?
「工程師,我的電腦可以跑啊!怎麼上線就不行了?」
這句經典台詞,每天都在軟體開發的世界中不斷上演。當你在自己的電腦上開發了一套完美的網站,興高采烈地要部署到伺服器時,卻發現環境不一樣、套件版本衝突、缺少系統依賴⋯⋯光是「讓它跑起來」就花掉了一整個週末。
這就是業界俗稱的 「在我電腦可以跑 (Works on My Machine)」 症候群。而根治這個問題的唯一解方,就是 Docker 容器化技術。
Docker 讓你連同整個作業環境(程式碼、系統套件、設定檔)一起打包成一個輕量級的「容器 (Container)」。從此以後,不管是在你的筆電、客戶的私有伺服器、還是雲端機房,只要一鍵執行,就能保證完全相同的運行結果!
而當你的服務越來越多——電商網站、排程爬蟲、AI 模型 API——你就會需要 Kubernetes (K8s) 來幫你管理這些容器的部署、伸縮、負載平衡與自動修復。
本課程將帶你從零開始,用 Vibe Coding 的方式,一邊理解 Docker 與 K8s 的核心概念,一邊實際操作,最終將一個完整的多服務應用部署到 Kubernetes 叢集上。
💰 學這個能幫你賺多少錢?
在台灣的就業市場與接案市場中,容器化與雲端部署是一項極度稀缺但需求爆炸的技能:
-
接案必備技能,提升報價 50% 以上: 一般網頁設計公司只會把檔案丟到 shared hosting(共享主機),只要遇到客戶需要多服務架構(例如官網 + 爬蟲 + AI API),他們就完全無法處理。如果你在報價時提到「我可以幫你用 Docker 部署,保證穩定且可擴展」,你的報價可以直接從 5 萬提升到 8-10 萬。
-
DevOps 工程師年薪百萬起跳: 根據 104 人力銀行與 LinkedIn 的薪資報告,懂得 Docker 與 Kubernetes 的 DevOps 工程師,年薪中位數為 120 萬 - 180 萬台幣。即使是 freelance 的 DevOps 顧問,日薪也在 8,000 - 15,000 元之間。
-
為自己的 SaaS 省下鉅額主機費: 不懂容器化的創業者,常常因為流量波動而被迫購買高規格的雲端主機(每個月數千到數萬元)。透過 K8s 的自動伸縮 (Auto Scaling),你的系統可以自動因應流量調整資源,在流量低時減少成本,流量高時無痛擴展。學會這套技術,每個月的主機費用可以省下 60% 以上。
🛠️ 我們會用到哪些技術?
- 🐳 Docker — 容器執行環境,把應用打包成標準化單元
- 📝 Dockerfile — 描述如何建立 Docker Image 的腳本
- 🔗 Docker Compose — 一次啟動多個容器(資料庫 + 後端 + 前端)
- ☸️ Kubernetes (K8s) — 容器編排平台,管理部署、伸縮與修復
- 📦 kubectl — K8s 命令列工具
- 🌐 Minikube / kind — 在本機運行 K8s 叢集
- ☁️ Google Kubernetes Engine (GKE) / DigitalOcean K8s — 雲端 K8s 服務
- 🔄 GitHub Actions — CI/CD 自動化建置與部署
🔥 Vibe Coding 核心 Prompt 搶先看
覺得 Docker 指令很難背?K8s 的 YAML 設定很複雜?在 Vibe Coding 的世界裡,這些都可以交給 AI:
【Docker 容器化詠唱範例】
「我有一個 Next.js 專案,請幫我生成一個 Dockerfile:1. 使用 Node.js 20 Alpine 作為基底映像檔,最小化體積。2. 先複製 package.json 與 package-lock.json,執行 npm ci --only=production。3. 再複製整個專案程式碼,執行 npm run build。4. 使用多階段建置 (multi-stage build),最終階段只複製 .next/ 與 node_modules/。5. 使用 next start 啟動,暴露 3000 埠。6. 加入 HEALTHCHECK 指令,每 30 秒檢查 /api/health。7. 以非 root 使用者執行,增強安全性。」
【Kubernetes 部署詠唱範例】
「請幫我生成 Kubernetes 部署 YAML:1. 建立一個 Deployment,名稱為 my-app,鏡像為 my-app:latest。2. 設定 3 個副本 (replicas),滾動更新策略 (RollingUpdate)。3. 加入 livenessProbe 與 readinessProbe,路徑為 /api/health。4. 建立一個 Service,類型為 ClusterIP,暴露 80 埠。5. 再建立一個 Ingress,將 mydomain.com 指向此 Service。6. 加入 HPA (HorizontalPodAutoscaler),當 CPU 超過 70% 時自動擴展到最多 10 個副本。」
有了這些 Prompt,你不需要背熟所有 Docker 指令或 K8s 的 YAML 欄位,只要會描述「我想要什麼」,AI 就會幫你把完整的設定檔產生出來!
準備好讓你的部署流程變得像按一個按鈕那麼簡單了嗎? 讓我們開始第一堂課:了解 Docker 到底是什麼,並在你的電腦上安裝好執行環境!