Docker 與 Podman 要達成的是同一件事:什麼是容器化
容器不是縮小版 VM,而是被 namespaces、cgroups 與 rootfs 限制的普通 Linux process。本文用原生 Linux 命令手工做出一個容器,再回頭解釋 Docker 與 Podman 各自用什麼架構達成同一個 OCI 目標。
從 Container、Image、Dockerfile 的基礎概念,一路理解 OCI、Rootless Docker、Podman 與正式環境的安全取捨。
容器不是縮小版 VM,而是被 namespaces、cgroups 與 rootfs 限制的普通 Linux process。本文用原生 Linux 命令手工做出一個容器,再回頭解釋 Docker 與 Podman 各自用什麼架構達成同一個 OCI 目標。
Docker 初學者的閱讀順序與實作路線,依序理解 container、image、Dockerfile,再完成第一個 nginx 與 Node.js image。
Docker container、image 與 VM 的差異,以及容器化為什麼能讓開發環境更一致。
用 nginx 練習 docker run、port publishing、bind mount 與 container 生命週期。
Docker image 的唯讀分層、tag 與 digest,以及 pull、build、inspect、rm 常用指令。
Dockerfile 常用指令、Node.js 範例、build cache 與避免把不必要檔案打進 image 的做法。
從 Docker daemon、socket 與 user namespace 的權限邊界,說明正式環境採用 Rootless Docker 的價值、限制,以及如何用 skill-rootless-docker 安全完成盤點、安裝、遷移與驗證。
從 daemon、API socket、user namespace、網路、cgroup、storage 與 systemd,比較 Rootless Podman 和 Rootless Docker 在正式環境的共同限制與關鍵差異。