gin-scratch.dockerfile 611 B

12345678910111213141516171819202122232425
  1. # build layer
  2. FROM docker.io/golang:1.19-alpine as builder
  3. WORKDIR /gin
  4. COPY ./gin-std /gin
  5. RUN apk update \
  6. apk add --no-cache git \
  7. go mod download
  8. RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOAMD64=v3 \
  9. go build -tags=jsoniter -ldflags="-s -w" -o server .
  10. RUN apk --no-cache add --update ca-certificates
  11. # release layer
  12. FROM scratch as release
  13. COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
  14. COPY --from=builder /gin/server /bin/server
  15. COPY --from=builder /gin/templates/fortune.html /templates/fortune.html
  16. EXPOSE 8080
  17. ENTRYPOINT ["/bin/server"]