Dark mode
Podman: เครื่องมือจัดการ Container แบบ Daemonless
Podman เป็นเครื่องมือจัดการ container ที่พัฒนาโดย Red Hat ทำงานแบบไม่ใช้ daemon (daemonless) มีความสามารถหลักคล้าย Docker แต่มีข้อดีด้านความปลอดภัยและประสิทธิภาพ
- เข้ากันได้กับ Docker CLI: ใช้คำสั่งคล้ายกัน (แทน docker ด้วย podman)
- ไม่ต้องมี background process: ปลอดภัยและใช้ทรัพยากรน้อยกว่า
- รองรับ rootless: ทำงานได้โดยไม่ต้องใช้สิทธิ์ root
- ใช้มาตรฐาน OCI: รองรับ container image และ runtime มาตรฐาน
Podman vs Docker
ตารางนี้แสดงความแตกต่างด้านสถาปัตยกรรมและคุณสมบัติระหว่าง Podman และ Docker:
ด้าน | Podman | Docker |
---|---|---|
สถาปัตยกรรม | ✅ Daemonless, ไม่มี background process | Client-server, ต้องมี Docker daemon |
ความปลอดภัย | ✅ รองรับ rootless เต็มรูปแบบ | ⚠️ จำกัดการทำงานแบบ rootless |
ประสิทธิภาพ | ✅ ใช้ทรัพยากรน้อยกว่า | ใช้ทรัพยากรมากกว่า |
ระบบที่รองรับ | Linux เต็มรูปแบบ, WSL2/macOS จำกัด | ✅ รองรับครบทุกระบบ |
ฟีเจอร์พิเศษ | ✅ รองรับ Kubernetes, systemd | ✅ มี Swarm Mode, BuildKit |
CLI | ✅ เข้ากันได้กับ Docker CLI | ใช้ Docker CLI มาตรฐาน |
การจัดการ Storage | ใช้ containers-storage | ✅ ใช้ Docker storage drivers |
การอัปเดต | อัปเดตผ่าน package manager | ✅ อัปเดตผ่าน Docker repository |
การจัดการเครือข่าย | ✅ ใช้ CNI plugins | ใช้ Docker network drivers |
การทำงานกับ Kubernetes | ✅ รองรับเต็มรูปแบบ | ⚠️ รองรับแต่ต้องใช้ Docker Desktop บน Windows/macOS |
การจัดการ Images | ✅ รองรับ OCI images | รองรับทั้ง OCI และ Docker images |
Podman CLI Commands
คำสั่งพื้นฐานสำหรับใช้งาน Podman และคำสั่ง Docker ที่เทียบเท่า:
การทำงาน | คำอธิบายเพิ่มเติม | ||
---|---|---|---|
รัน container | podman run | docker run | ทำงานแบบ daemonless ไม่ต้องมี background process |
สร้าง image | podman build | docker build | ใช้ Dockerfile เดิมได้เลย |
ดู containers | podman ps | docker ps | แสดงทั้ง containers ที่ทำงานและหยุดแล้ว |
ดู images | podman images | docker images | แสดงรายการ images พร้อมขนาด |
ลบ container | podman rm | docker rm | ต้องหยุด container ก่อนลบ |
ลบ image | podman rmi | docker rmi | ลบได้เฉพาะ image ที่ไม่ถูกใช้งาน |
จัดการ network | podman network | docker network | รองรับ rootless networking |