Cover image

ทําความรู้จักกับ Podman

8 Oct 2021

สวัสดีครับ ในบทความนี้เราจะมาทําความรู้จักกับ 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 ได้โดยตรง

docker-vs-podman

เริ่มต้นใช้ 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 ได้เลย

สําหรับบทความนี้ก็ขอจบไว้เพียงเท่านี้นะครับ ขอบคุณครับ

Suggestion blogs

เริ่มต้นใช้ Linode

Linode คืออะไรLinode เป็น เป็นผู้ให้บริการ VPS (Virtual Private Server) เจ้าหนึ่ง เช่นเดียวกับ Digital Ocean และ Vultr ที่สามารถควบคุมได้ทุกอย่าง ไม่ว่าจะลงโปรแกรม หรือ Config Server ต่างๆ เหมือนเราเป็นเจ้าของ Server เครื่องนั้นๆเลย ซึ่งเบื้องหลังเค้าไม่ได้ให้เราควบคุมเครื่องจริงๆ แต่จะจําลองเครื่อง Server ขึ้นมาให้เราได้ใช้งานเสมือนว่าเราเป็น

Peer dependencies ใน npm

สวัสดีครับ ในบทความนี้จะเกี่ยวกับ Peer dependencies ใน npm ครับ

จัดการ Data flow ด้วย Redux ใน React

Redux เป็น Library ที่จะช่วยควบคุมการไหลของข้อมูลใน Application ของเราให้ดีขึ้น ซึ่งจะช่วยให้เราคาดการได้ว่าเมื่อเกิดเหตุการณ์ใดใน Component แล้วจะมีผลอะไรกับ Application ของเราบ้าง ถ้ายังนึกภาพไม่ออกให้ดูรูปนี้


Copyright © 2023 thiti.dev

วงแหวนเว็บ