2024-03-06 14:00:43 +00:00
|
|
|
# Menggunakan Go image resmi dari Docker Hub sebagai base image
|
|
|
|
|
FROM golang:alpine AS builder
|
|
|
|
|
|
|
|
|
|
# Menentukan direktori kerja
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
# Menyalin file Go mod dan Go sum untuk mendownload dependensi
|
|
|
|
|
COPY go.mod ./
|
|
|
|
|
COPY go.sum ./
|
|
|
|
|
|
|
|
|
|
# Mendownload dependensi menggunakan Go module
|
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
|
|
# Menyalin seluruh file ke dalam image
|
2024-03-06 14:07:04 +00:00
|
|
|
COPY . .
|
2024-03-06 14:00:43 +00:00
|
|
|
|
|
|
|
|
# Mengcompile aplikasi Go
|
|
|
|
|
RUN go build -o main .
|
|
|
|
|
|
|
|
|
|
# Memindahkan binary hasil compile ke direktori yang lebih kecil
|
|
|
|
|
FROM alpine:latest
|
|
|
|
|
WORKDIR /root/
|
|
|
|
|
COPY --from=builder /app/main .
|
|
|
|
|
CMD ["./main"]
|