example/app/api/example_api/Dockerfile

21 lines
572 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 api_example_api ./app/api/example_api
FROM alpine as example_api
WORKDIR /go/src
COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=builder /go/src/api_example_api ./
ENV TZ=Asia/Shanghai
RUN chmod +x ./api_example_api
LABEL io.portainer.accesscontrol.teams="admin"
EXPOSE 8080
CMD ["./api_example_api"]