Dockerfile (view raw)
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 32 33 34 | # syntax = docker/dockerfile:1
ARG GO_VERSION=1.22.1
FROM docker.io/library/golang:${GO_VERSION} as builder
WORKDIR /app
COPY --link go.mod .
RUN go mod download
COPY --link . .
# RUN go vet ./...
ENV ENV=production
RUN go run ./cmd/build
ENV GOOS=linux GOARCH=amd64 CGO_ENABLED=0
RUN go build server.go
# Final stage for app image
FROM gcr.io/distroless/static
WORKDIR /app
# Copy built application
COPY --link config.toml .
COPY --from=builder /app/server server
# Start the server by default, this can be overwritten at runtime
EXPOSE 3000
EXPOSE 9091
ENV ENV=production
CMD [ "/app/server" ]
|