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 ENV env=pro ENV endpoints=http://etcd-server:2379 RUN chmod +x ./api_example_api LABEL io.portainer.accesscontrol.teams="admin" EXPOSE 8080 CMD ["./api_example_api"]