Docker MOC
用途:串連容器從底層原理到實務的筆記,Docker 為主,尾段接到 Kubernetes 編排。 上層:開發環境與工具 MOC
底層原理
- Kernel:作業系統核心 — 前置概念:user space / system call / kernel space 三層
- 容器是被 namespace 與 cgroups 關起來的普通行程
- VM 與容器的差別在有沒有自己的 kernel
- Docker 是 client-server 架構,CLI 只是遙控器
Image 與 Container
Dockerfile 與建置
執行、網路與資料
- 連不上容器的四個原因與 -p 的方向
- 容器之間要用容器名稱連線而不是 localhost
- 容器可拋棄,資料要靠 Volume 留在容器外
- bind mount 掛原始碼會蓋掉 image 裡的 node_modules
- Docker Compose 一個檔案起整套環境
除錯與實務
編排(Kubernetes)
交付物交出去之後,是誰讓它跑起來、掛了誰救它:
- Pod、Job、Workflow 是三層:執行載體、任務保證、流程調度 — 誰負責跑/誰負責確保跑完/誰負責決定順序
- Pod 不會自己重啟,自我修復來自控制器 — 容器可拋棄那條原則往上一層