gin-scratch.dockerfile 602 B

12345678910111213141516171819202122232425
  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. ENTRYPOINT ["/bin/server"]