1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#####################################
# STEP 1 build executable binary #
#####################################
FROM golang:alpine AS builder
# Install git.
# Git is required for fetching the dependencies.
RUN apk update && apk add --no-cache git
WORKDIR /app
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
# Build the binary.
RUN CGO_ENABLED=0 GOOS=linux go build -o main
#####################################
# STEP 2 build a small image #
#####################################
FROM scratch
# Copy our static executable.
COPY --from=builder /app/main /app/main
# Run the hello binary.
ENTRYPOINT ["/app/main"]
|