"Container"
- Image build、scan、registry 與 promotion 流程
說明 Docker / container image CI/CD 如何建立可追溯 tag、掃描 gate、registry promotion 與 runtime handoff
- 5.1 container 與 runtime
整理 image、resource limit 與啟動行為
- 斷網環境的容器與映像管理
Private registry 架設、映像搬運(docker save/load、skopeo)、base image 更新週期、離線漏洞掃描
- 容器化資源設計
把容量規劃落到容器上時,怎麼定 memory 與 CPU 限制不觸發 OOMKill 或 throttle、以及 overlay filesystem 對高頻寫入的 I/O 影響
- Container 部署設計
Docker 部署 collector 的設計 — SQLite 在 overlay filesystem 的 I/O 考量、volume mount、graceful shutdown、資源限制
- Container Registry
說明容器產物儲存、權限與推進流程在 CD 中的責任
- Image Digest
說明 container image digest 如何作為不可變產物身分,支撐掃描、推進與 runtime 追溯
- Image Tag Pinning
本機跟線上跑同一份 code 卻行為不一致、或 image 隔幾週重 build 就變樣時回來讀 — 為什麼 tag 要釘到 OS 世代
- glibc 與 musl
考慮用 alpine image 縮小體積、或 PHP/Python 擴充在容器裡行為跟線上不同時回來讀 — 兩種 libc 的差異與怎麼選
- Prod Parity Principle(生產環境對等原則)
要建一個對齊 client 線上環境的本機 runtime、不知道該對齊到多細時回來讀 — parity 對齊的是凍結舊環境而非最新版
- Docker Named Volume Ownership(掛載點擁有者)
container 內非 root 使用者寫不進掛載的 named volume、出現 permission denied 時回來讀
- Runtime Secret Injection(機密注入)
要決定 token / 金鑰放哪、能不能烤進 image 或提交進(即使私有的)repo 時回來讀
- OOM Killer and Exit Code 137(OOM killer 與退出碼 137)
程序或 container 被無預警砍掉、退出碼是 137、或編譯 / 測試在記憶體吃緊時突然死掉、要判斷是不是記憶體不足時回來讀
- Container
說明容器如何包裝服務、隔離依賴與影響部署方式
- Container-per-Service(一容器一職責)
第一次發現一個 web app 要開好幾個 container、不懂為什麼不塞一個大 container、或不確定什麼該獨立成一個 container 時回來讀 — 一容器一職責的理由與邊界
- QEMU binfmt Emulation(跨架構模擬)
docker 跑非原生架構的 image 報 exec format error、mysql:5.7 在 Apple Silicon 要 platform: linux/amd64、或跨平台 build 特別慢時回來讀 — 非原生 image 怎麼被模擬跑起來
- Immutable Image(不可變映像)
想「修改 / 升級一個已經 build 好的 image」、或搞不懂為什麼同一個 tag 隔天內容變了時回來讀 — image 是不可變的 build 產物、改了就是新 image