- Published on
เรียนรู้ Go - compile อัตโนมัติ ด้วย Air บน Docker
วันนี้เรามาทำเกี่ยวกับโปรเจค Go กันต่อดีกว่าครับ บทความวันนี้สิ่งที่จะทำคือเวลาแก้ไขโค้ดใน Go จะให้ compile อัตโนมัติ คือเราจะ Run โค้ดโดยใช้ docker-compose จะทำอย่างไรมาเริ่มกันเลยดีกว่าครับ
ในส่วนนี้เจมส์จะต่อยอดจากบทความก่อนหน้านี้เน้อครับ เรียนรู้ Go - สร้าง Docker image สำหรับโปรเจค Go
มาเริ่มกันเลย
สร้าง dev.Dockerfile
ขั้นแรกคือเราจะสร้าง dev.Dockerfile ขึ้นมาก่อนครับ โดยจะใส่โค้ดดังนี้ครับ
dev.Dockerfile
FROM golang:1.22-alpine
WORKDIR /app
RUN go install github.com/air-verse/air@latest
COPY go.mod go.sum ./
RUN go mod download
CMD ["air"]
คือเราจะ install air
เพิ่มเข้าไป และในส่วน command จะใช้คำสั่ง air
เพิ่ม docker-compose.yaml
จากนั้นเราจะมาเพิ่ม docker-compose.yaml ขึ้นมาครับ โดยจะใส่โค้ดดังนี้ครับ
docker-compose.yaml
version: "3.8"
services:
api:
container_name: api.simple-todo
ports:
- 2000:2000
build:
context: ./
dockerfile: dev.Dockerfile
environment:
- PORT=2000
volumes:
- ./:/app
จากนั้นให้เราลอง run
docker-compose up
คราวนี้ถ้าหากเราแก้ไขไฟล์ .go
เช่น main.go
จะพบว่า มันจะ recompile ให้อัตโนมัติเรียบร้อยแล้ว เย้!
หากบทความนี้มีส่วนไหนผิดพลาดประการใด ก็ขออภัยมา ณ ที่นี้ด้วยเน้อครับ