
六月十六日至十七日,電算中心舉辦為期一天半的「Docker 應用及實作」課程。內容安排緊湊,兼顧理論與實務,讓參與的學生及同仁更全面且深入地認識Docker 現代熱門的系統部署工具。Docker 是一個開源的容器平台,能將應用程式及其所有相依環境(如套件、系統設定等)一併打包在一個容器(Container)中,確保在不同開發、測試、部署環境中,都能有一致的執行效果。大大降低了「我這邊可以運行,你那邊不行」的問題,讓團隊能快速搭建標準化的應用系統開發與執行環境。
課程重點圍繞Docker 的四大核心元件:映像檔(Image)、容器(Container)、儲存機制(Volume)與網路(Network)。首先,映像檔是Docker 容器的執行模板,透過撰寫Dockerfile 定義環境內容,自動建構出映像檔,並據此建立一或多個容器實例。容器則是從映像檔執行而來的獨立運作單元,負責實際承載並執行應用程式,每個容器擁有自己的檔案系統與網路,彼此隔離,方便彈性管理。再來,Volume 是Docker 提供的持久化儲存方案,能存放資料庫、日誌、上傳檔案等需要長期保存的資料,並可跨容器共用。最後,Docker Network則管理容器之間及對外的通訊,支援多種網路模式(如bridge、host、overlay 等),靈活滿足各種應用需求。
為簡化多服務協同部署,Docker 還提供了Docker Compose 工具,能以compose.yaml 檔案一次性定義多個服務的映像、容器、網路與儲存配置,提升自動化部署效率與可維護性。典型流程為:撰寫Dockerfile、建構映像檔、啟動容器、設定網路與資料儲存,最後用Docker Compose統一管理多容器應用。
在實作環節,學員們動手操作Docker 的四大核心功能。首先,大家學習如何撰寫Dockerfile,從Alpine 基底映像建立自製映像檔,並整合Vim、Nginx、Supervisor 等套件,打造可實際運行的容器化環境。容器管理部分則練習了docker run、ps、exec、stop、restart 等常用指令,掌握容器的啟動、監控與管理。儲存機制方面,學員實作bind mount 將本機資料掛載至容器,並建構以MariaDB 為基底的資料庫容器,實現資料持久化。網路部分則讓大家實作容器間的通訊連結,例如Web 容器連接資料庫容器,理解Docker 虛擬網路的運作方式。最後,課程引導學員建構完整的docker_compose 專案結構,學習撰寫Compose 配置檔,自動化管理多容器協同運作的應用環境。
課程結束後,學員表示收穫豐富,不僅對Docker 的專業知識有更全面的掌握,也對其實務應用場景建立了更深的認識。深刻體會標準化開發環境在團隊協作與系統部署中的關鍵價值,也為日後開發校務系統或跨平台開發奠定了堅實基礎。不過,也有學員建議課程後段節奏略快,對初學者稍具挑戰,建議未來能增加基礎概念講解與即時Q&A 時間。同時,大家也期盼未來能開設實體課程及進階的Kubernetes(K8s)教學,延續Docker 學習的深度與廣度。有趣的是,還有學員幽默建議:「如果課間能提供咖啡和點心,學習效果肯定更上一層樓!」
總結來說,結合理論與實務的課程,協助學員建立對Docker 技術的系統性理解與操作能力,為日後容器化開發與部署奠定了堅實基礎,也為進一步學習雲端與微服務架構提供了良好起點。期望未來能將Docker 落地應用於更多專案,有效提升開發與維運效率。
