- Podman 5.8.2 là container runtime daemonless, rootless by default - container exploit chỉ có quyền user thường, không leo được root host.
- CLI tương thích 100% với Docker, dùng alias docker=podman là chạy được.
- Miễn phí hoàn toàn (Apache 2.0), trong khi Docker Desktop tính phí enterprise cho tổ chức trên 250 nhân viên.
- CNCF Sandbox Project từ tháng 11/2024, runtime mặc định trên RHEL và OpenShift.
TL;DR
Podman là container runtime miễn phí, rootless by default, tương thích 100% CLI với Docker - nhưng không có daemon chạy nền. Khi container bị exploit và attacker thoát ra ngoài, họ chỉ có quyền của user thường - không leo lên root host được. Phiên bản hiện tại: Podman 5.8.2, CNCF Sandbox Project từ tháng 11/2024, runtime mặc định trên RHEL và OpenShift.

Vấn đề với Docker daemon
Docker hoạt động theo mô hình client-server: CLI gửi lệnh đến dockerd - một process nền chạy với quyền root liên tục. Thiết kế này tạo ra bốn vấn đề thực tế trong môi trường sản xuất.
Đầu tiên là single point of failure: daemon crash là mất kiểm soát tất cả container đang chạy. Thứ hai là attack surface lớn - process root sống mãi mãi là mục tiêu hấp dẫn cho attacker. Thứ ba là container escape nguy hiểm: nếu attacker thoát ra khỏi container, họ có ngay quyền root trên host. Và từ năm 2022, Docker Desktop bắt đầu tính phí enterprise cho tổ chức trên 250 nhân viên hoặc doanh thu trên $10M - không phải con số nhỏ với team mid-size.
Podman giải quyết cả bốn vấn đề trên bằng một quyết định kiến trúc đơn giản: không có daemon.
Kiến trúc daemonless hoạt động ra sao
Thay vì gửi lệnh đến daemon, mỗi lệnh podman run spawn trực tiếp một container process làm child process của user đang đăng nhập. Không có trung gian, không có socket root, không có single point of failure. Stack kỹ thuật bên dưới:
- crun 1.14 - OCI-compliant runtime thay thế runc, tích hợp native với systemd
- Linux user namespaces - cho phép user thường chạy container không cần
sudo - Netavark - network backend mới thay thế CNI (rootful mode)
- slirp4netns - network stack user-mode cho rootless mode (đánh đổi: latency cao hơn)
- FUSE-overlayfs - storage driver cho rootless
Lifecycle management - vấn đề thực tế nhất khi không có daemon - được giải quyết qua systemd. Podman tích hợp sâu với systemd thông qua Quadlet: bạn viết file .container định nghĩa container như một service, systemd generator tự tạo .service file tương ứng. Container tự restart khi reboot, socket activation cho phép container chỉ khởi động khi có request đến - không cần idle ăn RAM 24/7 và tự stop sau 30 giây không có traffic.
Benchmark với crun 1.14 + systemd 255 ghi nhận attack surface giảm 78% so với Docker rootful, và cold-start nhanh hơn do không có daemon round-trip overhead.
CLI quen thuộc, migration gần như zero-effort
Bạn đã quen với Docker? Hầu hết distro Linux đề xuất thẳng:
alias docker=podman
Các lệnh mapping 1:1: podman run, podman exec, podman kill, podman ps, podman build, podman pull, podman push. Dockerfile của bạn dùng được nguyên si. Images OCI tương thích hoàn toàn với Docker Hub, GHCR, và bất kỳ registry nào.
Điểm cộng thêm cho team dùng Kubernetes: podman generate kube export K8s YAML từ container đang chạy, podman play kube deploy manifest đó ngay trên máy local mà không cần full cluster. Podman align với CRI-O - Kubernetes-native runtime - trong khi Dockershim đã bị remove khỏi Kubernetes từ phiên bản 1.24.
Với developer dùng GUI, Podman Desktop (CNCF Sandbox từ tháng 11/2024) cung cấp giao diện đồ họa miễn phí thay thế Docker Desktop - tích hợp Compose, Extensions, và Kubernetes integration.
Điểm mạnh và giới hạn
Nên dùng Podman khi:
- Chạy production Linux (RHEL, Fedora, Ubuntu) với yêu cầu bảo mật cao
- Team dùng Kubernetes/OpenShift và muốn local dev khớp với production runtime
- CI/CD pipeline trên shared runner cần rootless containers tránh privilege escalation
- Muốn thoát khỏi Docker Desktop license cost - Podman miễn phí hoàn toàn (Apache 2.0)
- Serverless-lite: rootless Podman + systemd socket activation, container tự stop sau 30 giây idle
Hạn chế cần biết:
- Không hỗ trợ Docker Swarm
- Podman Compose kém mature hơn Docker Compose cho multi-service phức tạp
- Rootless networking (slirp4netns) có latency cao hơn CNI - workaround: dùng rootful Podman hoặc Netavark
- Trải nghiệm macOS/Windows kém hơn Docker Desktop (cần chạy qua Linux VM)
- Ecosystem tutorials ít hơn, community nhỏ hơn Docker
So sánh nhanh với Docker
| Tiêu chí | Podman 5.8.2 | Docker |
|---|---|---|
| Daemon | Không có | dockerd chạy root liên tục |
| Rootless mặc định | Có | Cần config thêm |
| Cold-start | Nhanh hơn | Chậm hơn (daemon overhead) |
| Docker Compose | Podman Compose (partial) | Đầy đủ, mature |
| Docker Swarm | Không hỗ trợ | Có |
| Kubernetes | Pod-native, CRI-O aligned | Dockershim removed (K8s 1.24) |
| Giá | Miễn phí (Apache 2.0) | Tính phí enterprise |
Thực hành: thử ngay với lab của iximiuz
@iximiuz đã chuẩn bị 3 hands-on challenge để bạn thử và so sánh trực tiếp với Docker:
- Start & Inspect a Container With Podman - điểm khởi đầu
- Make a Podman Container Restart Automatically On Reboot - thực hành systemd integration
- Start & Inspect a Container With Docker - so sánh trực tiếp
Nếu bạn đang chạy RHEL, Fedora, hoặc bất kỳ môi trường production Linux nào yêu cầu bảo mật nghiêm ngặt, Podman xứng đáng có chỗ trong workflow của bạn. Với ai đang tìm cách thoát khỏi chi phí Docker Desktop, đây là lựa chọn drop-in gần như hoàn hảo - không cần học lại lệnh, không cần viết lại Dockerfile.
Nguồn: podman.io, Last9 - Podman vs Docker 2026, @iximiuz on X.

