go-template/app/service/example_service/Dockerfile

21 lines
616 B
Docker

FROM golang:1.17 as builder
ENV GO111MODULE on
ENV GOPROXY https://goproxy.io,direct
WORKDIR /go/cache
ADD go.mod .
ADD go.sum .
RUN go mod download
WORKDIR /go/src
ADD . .
RUN go mod tidy
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o service_example_service ./app/service/example_service
FROM alpine as example_service
WORKDIR /go/src
COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=builder /go/src/service_example_service ./
ENV TZ=Asia/Shanghai
RUN chmod +x ./service_example_service
LABEL io.portainer.accesscontrol.teams="admin"
EXPOSE 8080
CMD ["./service_example_service"]