จาก Docker Desktop 4.8 ใหม่นั้น
ได้เพิ่มเรื่องของ Docker Extension ออกมาให้ใช้งาน
ช่วยให้เราสามารถขยายความสามารถ Docker ตามที่ต้องการได้มากขึ้น
โดยทาง Docker ได้ปล่อย SDK มาให้ใช้งานด้วยเช่นกัน
แต่ยังอยู่ใน beta version เท่านั้น
ดังนั้นความสามารถต่าง ๆ อาจจะเปลี่ยนแปลงได้เสมอ
เพื่อความสนุกสนานก็มาลองสร้าง Docker Extension เล่นกันหน่อย

เริ่มด้วยติดตั้ง extension ดังนี้

จากนั้นทำการสร้าง extension ขึ้นมา

สร้างด้วยภาษา Go สำหรับฝั่ง backend หรือ REST API
ที่ติดต่อกับทาง Docker engine ซึ่งใช้ library ต่าง ๆ ดังนี้

  • Echo สำหรับพัฒนา REST API
  • Logrus สำหรับการจัดการ logging
  • Testify สำหรับการทดสอบ

ส่วนฝั่ง UI ใช้ ReactJS

สามารถดู code ที่ generate มาให้ได้ทั้ง

ในฝั่ง backend ที่เขียนด้วยภาษา Go

และฝั่ง UI ที่พัฒนาด้วย ReactJS

ในการ build ใช้ makefile หรือ Docker

ทำการ build extension ผ่าน makefile หรือ docker build ได้เลย

เมื่อผ่านแล้ว ทำการ install extension ที่สร้างมาไปยัง Docker engine ที่เครื่องของเรา

ลองดูผลการติดตั้งใน Docker Desktop ได้ดังรูป

หลังจากที่ทดสอบเรียบร้อยแล้ว สามารถ push ขึ้นไปยัง Extensions Marketplace

เป็นการ push ขึ้นไปที่ Docker Hub
ซึ่งใช้เวลานานมาก ๆ ทนหน่อย

เพียงเท่านี้ก็สามารถสร้าง Docker extension แบบง่าย ๆได้แล้ว
เป็นอีกความสามารถที่น่าสนใจของ Docker