23 lines
622 B
Docker
23 lines
622 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
|
|
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"] |