สวัสดีครับ ในบทความนี้เราจะมาทําความรู้จักกับ Podman กัน ซึ่งเป็นทางเลือกใหม่สําหรับผู้ที่ใช้งาน Docker โดยเราจะมาดูกันว่า Podman คืออะไร และมีความแตกต่างจาก Docker อย่างไร
Podman คืออะไร?
Podman เป็น Container engine เหมือน Docker ซึ่งก็หมายความว่า Docker ทําอะไรได้ Podman ก็ทําได้เช่นเดียวกัน แต่ใน Podman จะมีข้อดี หรือความแตกต่างจาก Docker ครับ เนื่องจาก Podman นําเอาข้อเสียของ Docker มาพัฒนาเพิ่มเติม สําหรับข้อดีของ Podman มาดูกันในหัวข้อถัดไปครับ
Podman ต่างจาก Docker อย่างไร?
สิ่งหลักๆของ Podman ที่ต่างจาก Docker มีดังนี้ครับ คือ Podman เป็น daemonless container engine หมายความว่า Podman ไม่ต้องการ Daemon มารันไว้ล่วงหน้า แต่จะอาศัยการ fork process ทุกครั้งที่ผู้ใช้ Run containner ขึ้นมา ทําให้ Containner engin ทํางานร่วมกับ systemd ได้เป็นอย่างดี ไม่จำเป็นต้องมีสิทธิ์ root ในการสร้างและ รันคอนเทนเนอร์ จึงทําให้ Podman สามารถทำงานใน environment โหมด root ได้ (run as root หรือ rootless mode) และสามารถติดต่อกับ Image resgitry ได้โดยตรง
เริ่มต้นใช้ Podman
เรามาเริ่มต้นด้วยการ Install podman กันก่อนครับ (เป็นตัวอย่างกรณีที่ใช้ Mac นะครับ) ด้วยคําสั่งนี้
$ brew install podman
ถ้าใครยังไม่ได้ติดตั้ง brew ก็ไปติดตั้งก่อนนะครับ
ต่อมา start the Podman-managed VM ด้วยคําสั่งนี้ครับ
$ podman machine init
$ podman machine start
ลองตรวจสอบการติดตั้งว่าเรียบร้อยมั้ย ด้วยการ get information ขึ้นมาดูก่อน
$ podman info
เท่านี้เราก็ได้ podman มาใช้แล้ว
ขั้นตอนต่อไปเรามาลอง run containner กันครับ ซึ่งถ้าเคยใช้งาน Docker มาก่อน ก็ง่ายเลยครับเพราะคําสั่งต่างๆเหมือน Docker ทุกประการ
มาเริ่ม run nginx ง่ายๆกัน ด้วยคําสั่งนี้ได้เลย
podman run -it --rm -p 8081:80 nginx
ก็จะได้ผลตามนี้ครับ
มาถึงจุดนี้จะเห็นว่าคําสั่งเหมือนกับ Docker ดังนั้นเราสามารถใช้คําสั่งของ Docker ได้เลย
สําหรับบทความนี้ก็ขอจบไว้เพียงเท่านี้นะครับ ขอบคุณครับ