FROM golang:1.20.2-alpine3.17 AS builder

WORKDIR /app

LABEL stage=gobuilder
ENV CGO_ENABLED 0
ENV GOARCH amd64
ENV GOPROXY https://goproxy.cn,direct

COPY . .
COPY etc/ /app/
RUN go mod download && go build -o pcm-openstack /app/pcmopenstack.go

FROM alpine:3.16.2
WORKDIR /app

 #修改alpine源为上海交通大学
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.sjtug.sjtu.edu.cn/g' /etc/apk/repositories && \
  apk update && \
  apk upgrade && \
  apk add --no-cache ca-certificates && update-ca-certificates && \
  apk add --update tzdata && \
  rm -rf /var/cache/apk/*

COPY --from=builder /app/pcm-openstack .
COPY etc/pcmopenstack.yaml .

ENV TZ=Asia/Shanghai

EXPOSE 2003

ENTRYPOINT ./pcm-openstack -f pcmopenstack.yaml