Production Dockerfile 最佳化:multi-stage、依賴快取與最小 runtime image
承接 Dockerfile cache 實驗,用同一套 FastAPI lab 實作 multi-stage、lockfile-first、BuildKit cache mount 與 non-root runtime,並比較 Debian slim、Alpine、distroless 的大小、相容性與操作邊界。
承接 Dockerfile cache 實驗,用同一套 FastAPI lab 實作 multi-stage、lockfile-first、BuildKit cache mount 與 non-root runtime,並比較 Debian slim、Alpine、distroless 的大小、相容性與操作邊界。
用一套可重現的 FastAPI lab 拆解 Docker build context、layer 與 cache key,重現只改一行程式卻重新安裝所有 dependencies 的情況,並示範如何找出第一個失效步驟。
一次 doc-architect 重構加進整個 CONTEXT.md 模組,SKILL.md 卻從 225 行降到 216 行。拆解文件的三層機器保證——長度預算與棘輪、術語裁決的權限邊界、Fresh Session Test 的獨立驗收。
從 daemon、API socket、user namespace、網路、cgroup、storage 與 systemd,比較 Rootless Podman 和 Rootless Docker 在正式環境的共同限制與關鍵差異。
從 Docker daemon、socket 與 user namespace 的權限邊界,說明正式環境採用 Rootless Docker 的價值、限制,以及如何用 skill-rootless-docker 安全完成盤點、安裝、遷移與驗證。
容器不是縮小版 VM,而是被 namespaces、cgroups 與 rootfs 限制的普通 Linux process。本文用原生 Linux 命令手工做出一個容器,再回頭解釋 Docker 與 Podman 各自用什麼架構達成同一個 OCI 目標。