ในงาน DockerCon ทาง Docker ทำการปล่อย 2 project ใหม่ออกมา คือ

  1. LinuxKit
  2. Moby project

โดยที่ LinuxKit นั้นคือ

Toolkit สำหรับการสร้าง custom Linux distribution ตามความต้องการ
ซึ่งมีขนาดที่เล็ก นั่นคือมีเท่าที่ต้องการเท่านั้น
รวมทั้ง service ต่าง ๆ นั้นอยู่ใน container ทั้งหมด
ที่สำคัญ immutable อีกด้วยนั่นคือ สร้างมาแล้วไม่สามารถเปลี่ยนแปลงได้

ปล. ขนาดของ image ที่เล็กที่สุดคือ 35MB

ส่วน Moby project นั้นเป็นเครื่องมือที่ Docker ใช้ในการ

รวม component ต่าง ๆ เข้าด้วยกัน ซึ่งปัจจุบันมีมากว่า 80 component
เพื่อสร้าง product ต่าง ๆ ออกมาให้ใช้งาน เช่น

  • Docker for Mac
  • Docker for Windows
  • Docker for AWS
  • Docker for Azure

เปรียบได้กับระบบการผลิตรถยนต์นั่นเอง แสดงดังรูป

มาเริ่มต้นใช้งาน Moby project กันนิดหน่อย

ขั้นตอนที่ 1 ติดตั้ง Moby

ผมทำการติดตั้งผ่าน go get เลย เพราะว่าง่ายดี
ด้วยคำสั่ง

$go get -u github.com/linuxkit/linuxkit/src/cmd/moby

ทดสอบใช้งานนิดหน่อย

ขั้นตอนที่ 2 ลองใช้งานจากตัวอย่างสิ เพื่อทำการ build image

โดยนำตัวอย่างมาจาก linuxkit นั่นเอง
ซึ่ง configuration อยู่ในรูปแบบไฟล์ yml ดังนี้

จากนั้นทำการ run ด้วยคำสั่ง moby build ดังนี้
แสดงการทำงานตั้งแต่การ init, onboot และ การเพิ่ม service container ต่าง ๆ

ผลลัพธ์ที่ได้จากการ run คือไฟล์ต่าง ๆ ดังนี้

  • linuxkit-bzImage
  • linuxkit-efi.iso
  • linuxkit.iso
  • linuxkit-cmdline
  • linuxkit-initrd.img

ขั้นตอนที่ 3 Run สิรออะไร

ใช้เวลาในการ boot นิดหน่อย
จากนั้นทำการดูว่ามี service container อะไรทำงานด้วย runC ดังนี้

จะเห็นได้ว่ามี nginx ทำงานอยู่นะ
ดังนั้นลองทดสอบใช้งานสิ

จากนั้นดู configuration ของ nginx หน่อย

มาถึงตรงนี้เราสามารถสร้าง Linux distribution ของเราได้เองแล้ว

โดยทุกอย่างทำงานในโลกของ container นั่นเอง
เปรียบได้กับการต่อ Lego นั่นเอง

ส่วนรายละเอียดเชิงลึกต้องไปศึกษาเพิ่มเติมต่อไปครับ
สวัสดี Moby project !!!

Reference Websites
http://www.geekwire.com/2017/dockers-new-moby-open-source-project-lego-club-container-systems/
https://ordina-jworks.github.io/conference/2017/04/19/DockerCon-LinuxKit-And-Moby.html
https://www.theregister.co.uk/2017/04/21/docker_renames_open_source_code_moby
https://thenewstack.io/dockers-moby-project-aims-expand-container-usage-beyond-clouds/