ทาง docker ได้ปล่อย Docker Desktop 4.33 ออกมา
พร้อมกับ Docker build check ที่มีมาตั้งแต่ buildx version 1.50
ซึ่งช่วยทำการตรวจสอบ Dockerfile ให้เองแบบอัตโนมัติ
ตาม best practice ของการเขียนนั่นเอง
ที่สำคัญสามารถนำไปใส่ใน pipeline ของการ build หรือใน CI/CD ได้อีกด้วย
โดย Docker build check นั้น จะเตรียม rule ต่าง ๆ มาให้ เช่น
- JSONArgsRecommended
- MaintainerDeprecated
- StageNameCasing
เพื่อช่วยป้องกันปัญหาที่อาจจะเกิดขึ้นจาก Dockerfile ทั้ง
- การ maintain
- การ scan bug หรือปัญหาต่าง ๆ
- การดูแลเรื่อง performance
แถมช่วยลดเวลาของการหาปัญหา และ แก้ไขลงไปอีกด้วย
เพื่อความเข้าใจมาลองใช้งานกันดู
เริ่มจาก Dockerfile แบบปกติ ใช้งานได้เลย
[gist id="f2151aaa203c36c3e2e91168050766d2" file="Dockerfile"]ลองทำการ build ปกติผ่าน command line
จะทำการ scan และบอกว่ามีปัญหาตรงไหนบ้าง
ถ้าต้องการให้แสดงบรรทัดหรือจุดที่มีปัญหา
[gist id="f2151aaa203c36c3e2e91168050766d2" file="2.txt"]ทั้งสองแบบนั้น จะ return แค่ warning ออกมาเท่านั้น
แต่เมื่อนำขั้นตอนนี้ไปใส่ใน CI/CD จะได้ signal success เสมอ
ดังนั้นเราต้องเปลี่ยนนิดหน่อย เพื่อให้แจ้งหรือส่ง signal กลับมาว่า error
ด้วยการแก้ไขไฟล์ Dockerfile ดังนี้
จากนั้นก็ run ใหม่อีกรอบ ได้ผลดังนี้
[gist id="f2151aaa203c36c3e2e91168050766d2" file="3.txt"]ใช้งานง่ายมาก ๆ
ปล. ลืมไปว่า ก็ผลใน Docker Desktop เพิ่มได้ด้วย
สำหรับใครที่ชอบแบบ UI นั่นเอง