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