Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลองสร้าง Docker Extension เล่นกันหน่อย

$
0
0

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

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="1.txt"]

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

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

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

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="2.txt"]

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

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="main.go"]

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="App.js"]

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

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="3.txt"]

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="4.txt"]

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

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

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

[gist id="d163ad4637ab6b1dcc31a68d82986fbf" file="5.txt"]

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


Viewing all articles
Browse latest Browse all 1997

Trending Articles