指令速查表
Docker 常用指令與生命週期速查表 這份速查表整理了 Docker 在實務中最常用的指令,並且依照「基礎操作」與「容器生命週期狀態」進行分類,方便開發時快速查找。 1. 基礎與 Image 指令速查 | 指令 Command | 用途與說明 | | : | : | | docker versio...
Docker 基礎
Docker 基礎教學筆記 1. VM 和 Docker 的差別 VM 虛擬機 1. 資源預先分配 死佔資源:如果是 VM 的話,電腦有 32G,開了兩個 VM 各分配 8GB,就會直接花掉 16GB。不管裡面有沒有跑東西,資源就是被死死佔用。 2. 擴充不便:要擴充資源 如 CPU、RAM 通常需...
建立 Image (Dockerfile)
建立自訂 Image 與 Dockerfile 實戰 這篇筆記將透過打包一個 Node.js Express 專案,來學習如何撰寫 Dockerfile 以及如何正確處理環境變數。 1. 準備 Node.js 測試專案 步驟一:建立 Express 專案 使用 expressgenerator 快速...
雲端與網路實戰
雲端部署與網路實戰 Cloud & Network 在我們學會了如何把應用程式打包成 Docker Image 後,這篇筆記將探討實務上「伺服器該租在哪裡」、「雲端架構的選擇」,以及最核心的「多個 Docker 容器之間該如何透過 Network 互相通訊」。 1. 雲端三大核心服務 不論是哪一家雲...
資料持久化
資料持久化 Data Persistence 👉 核心觀念:Docker 容器的特性是「用完即丟 Stateless」。當你刪除容器並重新啟動一個新的時,原本在容器內產生的資料(例如使用者上傳的圖片、資料庫的數據)都會瞬間蒸發! 為了解決這個問題,特別是對於資料庫 DB 或圖片檔案伺服器,我們必須...
Docker Compose
終極殺器:Docker Compose 👉 核心痛點:回想一下,為了把這個 Node.js 專案跑起來,我們手動敲了多少指令? 建 Network、建 Volume、docker run MongoDB 並且加上一大串參數、最後再 docker run Node.js 並帶上落落長的環境變數跟網路...
GitHub Actions
自動化部署 GitHub Actions 👉 核心痛點:之前我們教過使用 docker buildx 在本機進行「跨平台多架構打包」,但如果每次改 code 都要在本機慢慢跑打包程序、然後手動推送到 Docker Hub,實在太浪費時間了,而且電腦跑打包時還會很卡! 最聰明的做法是:把這些苦差事丟...
實務情境模擬
實務情境模擬 The Big Picture 學完了前面所有的 Docker 基礎、網路、儲存空間、Compose 與 GitHub Actions 之後,我們現在要把所有碎片拼湊起來。 這篇筆記我們不談理論,直接帶你跑一次真實業界的標準 DevOps 生命週期!我們將模擬一個專案從「架構師建置」➡...