gin-scratch.dockerfile 611 B

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