โลโก้ Podman
Container และ VirtualizationApache License 2.0 (โอเพนซอร์ส)

Podman คืออะไร และวิธีติดตั้งบน Cloud Server

Podman คือเครื่องมือรันคอนเทนเนอร์ที่ใช้คำสั่งเหมือน Docker แต่ไม่มีบริการเบื้องหลังที่รันด้วยสิทธิ์สูงสุด และรันคอนเทนเนอร์ด้วยสิทธิ์ผู้ใช้ธรรมดาได้ จึงลดความเสี่ยงด้านความปลอดภัยลงอย่างมีนัยสำคัญ

หมวดหมู่
Container และ Virtualization
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Podman คืออะไร

Docker ทำงานผ่านบริการเบื้องหลังที่รันด้วยสิทธิ์สูงสุดของระบบ ใครที่เรียกใช้บริการนี้ได้จึงมีสิทธิ์เทียบเท่าผู้ดูแลระบบไปโดยปริยาย ซึ่งเป็นประเด็นที่ทีมความปลอดภัยยกขึ้นมาบ่อย

Podman ไม่มีบริการเบื้องหลังแบบนั้น คำสั่งที่เรียกจะสร้างกระบวนการของคอนเทนเนอร์ขึ้นตรง ๆ ภายใต้ผู้ใช้ที่สั่ง ทำให้คอนเทนเนอร์ที่ถูกเจาะยังถูกจำกัดอยู่ในสิทธิ์ของผู้ใช้คนนั้นเท่านั้น

คำสั่งส่วนใหญ่เหมือน Docker จนตั้งนามแฝงแทนกันได้ และรันอิมเมจมาตรฐานเดียวกันได้ทั้งหมด ทีมที่คุ้นกับ Docker จึงย้ายมาได้โดยแทบไม่ต้องเรียนใหม่

แผนผังการวางระบบ Podman บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 8080 ตัว Podman และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Podman ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Podman

ไม่มีบริการเบื้องหลังที่รันด้วยสิทธิ์สูงสุด

ลดพื้นที่เสี่ยงของระบบลงอย่างมีนัยสำคัญ

รันด้วยสิทธิ์ผู้ใช้ธรรมดาได้

คอนเทนเนอร์ที่ถูกเจาะยังถูกจำกัดอยู่ในสิทธิ์ของผู้ใช้คนนั้น

คำสั่งเหมือน Docker

ทีมย้ายมาได้โดยแทบไม่ต้องเรียนคำสั่งใหม่

จัดกลุ่มคอนเทนเนอร์เป็น Pod ได้

ใช้แนวคิดเดียวกับ Kubernetes ทำให้ย้ายขึ้นคลัสเตอร์ภายหลังง่ายขึ้น

ผูกกับ systemd ได้โดยตรง

ให้คอนเทนเนอร์เริ่มเองเมื่อเครื่องบูตเหมือนบริการปกติของระบบ

ใช้ Podman ทำอะไรได้บ้าง

  • องค์กรที่มีนโยบายความปลอดภัยไม่ให้มีบริการที่รันด้วยสิทธิ์สูงสุดโดยไม่จำเป็น
  • เซิร์ฟเวอร์ที่รันหลายบริการและต้องแยกสิทธิ์ของแต่ละงานให้ชัดเจน
  • ทีมที่ใช้ Red Hat หรือ Rocky Linux ซึ่งมี Podman มาเป็นค่ามาตรฐาน
  • ระบบที่เตรียมย้ายขึ้น Kubernetes ในอนาคต

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Podman 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 200 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นรันคอนเทนเนอร์ไม่กี่ตัว2 vCPU4 GBNVMe 40 GB
แนะนำหลายบริการบนเครื่องเดียว4 vCPU8 GBNVMe 100 GB
ใช้งานหนักคอนเทนเนอร์จำนวนมากและงานบิลด์8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 200 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Podman บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Rocky Linux 9, AlmaLinux 9 หรือ Ubuntu Server 24.04 LTS
  • เคอร์เนลที่รองรับการทำงานแบบไม่ใช้สิทธิ์สูงสุด
  • พื้นที่ดิสก์สำหรับอิมเมจและข้อมูลของคอนเทนเนอร์

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Podman

    sudo apt update
    sudo apt -y install podman
    podman --version
  2. 2

    รันคอนเทนเนอร์แรกด้วยผู้ใช้ธรรมดา

    ไม่ต้องใช้ sudo และไม่ต้องเพิ่มผู้ใช้เข้ากลุ่มพิเศษใด ๆ

    podman run -d --name web -p 8080:80 docker.io/library/nginx:alpine
    podman ps
  3. 3

    ตั้งให้คอนเทนเนอร์เริ่มเองเมื่อเครื่องบูต

    สร้างไฟล์บริการของ systemd จากคอนเทนเนอร์ที่รันอยู่ แล้วเปิดใช้งานในระดับผู้ใช้

    podman generate systemd --name web --files --new
    mkdir -p ~/.config/systemd/user
    mv container-web.service ~/.config/systemd/user/
    systemctl --user enable --now container-web.service
    sudo loginctl enable-linger $USER
  4. 4

    ใช้ไฟล์ Compose เดิมได้

    ติดตั้งเครื่องมือที่อ่านไฟล์ Compose แล้วสั่งงานผ่าน Podman เพื่อใช้ไฟล์ที่มีอยู่เดิมต่อได้

    sudo apt -y install podman-compose
    podman-compose up -d
  5. 5

    ตั้งนามแฝงให้ใช้คำสั่งเดิม

    echo "alias docker=podman" >> ~/.bashrc
    source ~/.bashrc
  6. 6

    วาง Nginx รับ HTTPS ด้านหน้า

    ให้คอนเทนเนอร์ฟังพอร์ตสูงภายในเครื่อง แล้วให้ Nginx รับ HTTPS จากภายนอกและส่งต่อเข้ามา

การรันแบบไม่ใช้สิทธิ์สูงสุดผูกพอร์ตต่ำกว่า 1024 ไม่ได้ตามค่าเริ่มต้น ให้ใช้พอร์ตสูงแล้ววาง Reverse Proxy ด้านหน้า ซึ่งเป็นแนวปฏิบัติที่ควรทำอยู่แล้ว

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ผ่าน Reverse Proxy
8080TCPพอร์ตของคอนเทนเนอร์ภายในเครื่อง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • รันคอนเทนเนอร์ด้วยผู้ใช้ธรรมดาแทนผู้ดูแลระบบทุกครั้งที่ทำได้
  • ดึงอิมเมจจากแหล่งที่เชื่อถือได้และระบุแท็กเวอร์ชันชัดเจน
  • ไม่เปิดพอร์ตของคอนเทนเนอร์สู่อินเทอร์เน็ตโดยตรง
  • อัปเดตอิมเมจตามรอบเพราะช่องโหว่อยู่ในชั้นระบบปฏิบัติการของอิมเมจด้วย

ทำไมควรรัน Podman บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

ใช้แทน Docker บน Cloud Server ได้โดยไม่ต้องเปลี่ยนไฟล์ Compose ที่มีอยู่

เหมาะกับองค์กรที่ผ่านการตรวจสอบด้านความปลอดภัยและถูกทักเรื่องบริการที่รันด้วยสิทธิ์สูงสุด

รันหลายบริการแยกสิทธิ์กันบนเครื่องเดียว ช่วยคุมค่าใช้จ่ายสำหรับทีมเล็ก

คำถามที่พบบ่อยเกี่ยวกับ Podman

Podman ใช้แทน Docker ได้เลยไหม

สำหรับงานส่วนใหญ่ใช้แทนได้ทันทีเพราะคำสั่งและอิมเมจเหมือนกัน สิ่งที่ต้องปรับคือส่วนที่พึ่งซ็อกเก็ตของ Docker โดยตรง เช่น เครื่องมือ CI บางตัว ซึ่งมีวิธีตั้งค่าให้ใช้ร่วมกันได้

รันแบบไม่ใช้ root มีข้อจำกัดอะไร

ผูกพอร์ตต่ำกว่า 1024 ไม่ได้ตามค่าเริ่มต้น และความสามารถด้านเครือข่ายบางอย่างมีข้อจำกัด แต่ทั้งสองข้อแก้ได้ด้วยการวาง Reverse Proxy ด้านหน้า ซึ่งเป็นสิ่งที่ควรทำอยู่แล้วในระบบจริง

ใช้ไฟล์ docker-compose.yml เดิมได้ไหม

ได้ผ่านเครื่องมือที่อ่านไฟล์ Compose แล้วสั่งงาน Podman ให้ ซึ่งรองรับความสามารถที่ใช้กันทั่วไปครบ แต่ถ้าไฟล์ใช้ความสามารถเฉพาะของ Docker บางอย่าง อาจต้องปรับเล็กน้อย

ให้เราติดตั้ง Podman ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด