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

เจอการเขียน Dockerfile แปลก ๆ สำหรับภาษา Go

$
0
0

วันนี้ทำการ review project ที่พัฒนาด้วยภาษา Go
มีสิ่งที่น่าสนใจคือ การเขียน Dockerfile
ซึ่งมีหลายรูปแบบเลย แถมแปลก ๆ ด้วย
จึงนำมาสรุปไว้นิดหน่อย

แบบที่ 1 Start มันไปเลย ไม่ต้อง Build

[gist id="a1b6e60952aa324085dcf77ca57e5bff" file="Dockerfile-00"]

ทำงานได้นะ แต่แบบนี้มันใช่ไหมเนี่ย !!!

แบบที่ 2 ทำการ build และ run ด้วยกันไปเลย

[gist id="a1b6e60952aa324085dcf77ca57e5bff" file="Dockerfile-01"]

สามารถทำงานได้เป็นปกติ
แต่ขนาดของ Docker image ใหญ่มาก ๆ ขนาด 300+ MB ขึ้นไป
คำถามคือ เราจะส่งมอบอะไร ? มันเยอะเกินไหม

แบบที่ 3 ทำการ copy binary จากเครื่องเข้าไปเลย !!

[gist id="a1b6e60952aa324085dcf77ca57e5bff" file="Dockerfile-02"]

ก็ทำงานได้ปกตินะ แต่การ build binary
ต้องกำหนด parameter พวก GOOS, GOARCH ให้ถูกด้วย
มิเช่นนั้นจะไม่สามารถใช้งานได้ เพราะว่า binary ที่ copy มาใส่ไม่ถูกต้องตา OS นั้น ๆ
และขนาดของ Docker image ก็เล็กมาก ๆ ด้วย

คำถามคือ ทั้ง 3 แบบ มันดีแล้วใช่ไหม ?


Viewing all articles
Browse latest Browse all 1997

Trending Articles