3 คะแนน โดย gg5823 2025-07-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สวัสดีครับ! ผมเป็นนักศึกษามหาวิทยาลัยสาขา Computer SW ที่เพิ่งเริ่มเรียนเขียนโค้ดได้ไม่นานครับ
โปรเจ็กต์นี้เป็นไคลเอนต์สำหรับ Incus ซึ่งช่วยให้สร้าง system container ที่รวมถึง init ได้อย่างง่ายดาย ตอนนี้ยังมีฟีเจอร์ไม่มากและยังเป็นต้นแบบอยู่ แต่ถ้าสนใจก็จะขอบคุณมากครับ!
คำอธิบายแบบย่อมีดังนี้

  • จัดการคอนเทนเนอร์ได้ด้วยแอป Python แบบเรียบง่าย
  • มีพอร์ต SSH ให้ จึงใช้เป็นสภาพแวดล้อมพัฒนาแบบ CLI ได้
  • มีพอร์ต 30001 และ 30002 สำหรับการทดสอบ
  • ตรวจสอบและเปลี่ยนสถานะจากระยะไกลได้ (รวมถึง freeze) พร้อม push ไฟล์ได้
  • ใช้ผู้ใช้ในลักษณะคล้าย namespace ได้: เมื่อลบผู้ใช้ คอนเทนเนอร์ทั้งหมดจะถูกลบด้วย
  • ใช้แท็กซ้ำได้: ในชื่อจริงจะกำหนดสตริงเฉพาะที่แยกจากกันให้

ข้อดีที่ได้รับจากการใช้แอปนี้มีดังต่อไปนี้

  • ตั้งค่าคอนเทนเนอร์แบบง่าย ๆ ได้ระหว่างเดินทาง
  • สร้าง system container ที่จำลองไปถึง Init ได้ หลายตัวในคลิกเดียว
  • เปลี่ยนเอกสารและรูปภาพได้สะดวกเมื่อต้องเสิร์ฟ HTML แบบง่ายด้วย NGINX
  • ทดสอบ build script ของโปรเจ็กต์ในสภาพแวดล้อมเสมือนได้

ผลงานสำคัญที่ทำได้สำเร็จ

  • ทดสอบการบิลด์ Incuspeed ด้วย Incuspeed เอง: ใช้ตัวมันเองทดสอบการบิลด์
  • เปลี่ยนภาพตัวอย่างที่ Nginx แสดงจากระยะไกล
  • ทดลองใช้งานดิสโทรหลากหลายแบบ

ดิสโทรที่รองรับ

  • AlmaLinux 9
  • RockyLinux 9
  • Debian 10,11,12
  • Devuan Beowulf, Chimaera, Daedalus (โดยพื้นฐานคือ Debian ที่เปลี่ยน init เป็น sysv)
  • Slackware current, 15.0 (ไม่ได้ติดตั้ง slackpkg+ setup มาให้เป็นค่าเริ่มต้น)
  • Centos 9 Stream
    ในบรรดา Incus official image ผมได้ตั้งค่า SSH เสร็จแล้วสำหรับทุกดิสโทรที่เคยลองใช้

ฟีเจอร์ที่กำลังพิจารณาในอนาคต

  • สร้าง/จัดการ snapshot จากระยะไกล
  • บันทึกคอนเทนเนอร์ปัจจุบันเป็นอิมเมจ

ถึงตอนนี้ผมยังเป็นมือสมัครเล่น แต่ก็อยากสร้างความประทับใจที่ดีครับ!

1 ความคิดเห็น

 
gg5823 2025-07-13

เพื่ออ้างอิง พอร์ต 30001 และ 30002 ภายในจะถูกแมปออกไปภายนอกเป็นพอร์ต SSH +1 และพอร์ต SSH +2