จาก 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