ใน How-To ครั้งที่แล้ว มาเล่น Golang บน Docker กัน หลังจากที่ได่ทำการสั่ง Build Docker Images แล้วจะพบว่ามีการดาวน์โหลด Base Images จำนวนมากใช้เวลานานและเมื่อทำการ Build เสร็จแล้ว Docker Images นั้นมีขนาดใหญ่เกินความจำเป็นใน How-To ครั้งนี้จะเป็นวิธีการสร้าง Docker Images ขนาดเล็กกันเพื่อให้ง่ายต่อการใช้งาน มาเริ่มกันเลย…
ดาวน์โหลดและติดตั้ง Golang ด้วยคำสั่ง
wget https://go.googlecode.com/files/go1.1.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.1.2.linux-amd64.tar.gz
sudo echo 'PATH DEFAULT=${PATH}:/usr/local/go/bin' | sudo tee -a /etc/environment
สร้างไดเร็กทอรี่ smallgolang และเข้าใช้งานด้วยคำสั่ง
mkdir smallgolang
cd smallgolang
สร้างไฟล์ hello.go ด้วยคำสั่ง
nano hello.go
โดยมีเนื้อหาดังนี้
package main // import "github.com/CenturyLinkLabs/hello" import "fmt" func main() { fmt.Println("Hello World") }
เพื่อเป็นโปรแกรมทดสอบในการใช้งาน
สร้าง Dockerfile ด้วยคำสั่ง
nano Dockerfile
โดยมีเนื้อหาดังนี้
FROM scratch COPY hello / ENTRYPOINT ["/hello"]
สั่ง Build Docker File ด้วยคำสั่ง
sudo docker run --rm -v $(pwd):/src -v /var/run/docker.sock:/var/run/docker.sock centurylink/golang-builder
เมื่อ Build เสร็จแล้วตรวจสอบขนาดของ Docker Images ด้วยคำสั่ง
sudo docker images
จะมีเนื้อที่ประมาณ 1.3 MB