2019-03-27 05:14:07 +01:00
|
|
|
FROM golang:1.12-alpine as builder
|
|
|
|
RUN apk update && \
|
2019-03-28 06:57:49 +01:00
|
|
|
apk add --no-cache git && \
|
2019-03-27 05:14:07 +01:00
|
|
|
apk add --no-cache upx=3.95-r1
|
|
|
|
|
2019-03-28 16:41:52 +01:00
|
|
|
RUN go get -u github.com/dosco/esc && \
|
|
|
|
go get -u github.com/pilu/fresh
|
2019-03-28 03:01:02 +01:00
|
|
|
|
2019-03-28 06:51:46 +01:00
|
|
|
WORKDIR /app
|
|
|
|
ADD . /app
|
|
|
|
|
2019-03-24 14:57:29 +01:00
|
|
|
ENV GO111MODULE=on
|
2019-03-28 03:01:02 +01:00
|
|
|
RUN go mod vendor
|
2019-03-28 14:38:05 +01:00
|
|
|
RUN go generate ./... && \
|
2019-03-28 05:37:39 +01:00
|
|
|
CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o service && \
|
2019-03-27 05:14:07 +01:00
|
|
|
upx --ultra-brute -qq service && \
|
|
|
|
upx -t service
|
2019-03-24 14:57:29 +01:00
|
|
|
|
|
|
|
#second stage
|
|
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /app
|
2019-03-28 05:37:39 +01:00
|
|
|
|
2019-03-28 03:01:02 +01:00
|
|
|
RUN apk add --no-cache tzdata
|
2019-03-27 05:14:07 +01:00
|
|
|
|
2019-03-24 14:57:29 +01:00
|
|
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
2019-03-27 05:14:07 +01:00
|
|
|
COPY --from=builder /app/service .
|
2019-03-28 05:37:39 +01:00
|
|
|
COPY --from=builder /app/*.yml ./
|
2019-03-27 05:14:07 +01:00
|
|
|
|
|
|
|
RUN chmod +x /app/service
|
|
|
|
USER nobody
|
|
|
|
|
|
|
|
EXPOSE 8080
|
|
|
|
|
2019-03-24 14:57:29 +01:00
|
|
|
CMD ./service
|