forked from JointCloud/pcm-coordinator
38 lines
904 B
Docker
38 lines
904 B
Docker
FROM docker-0.unsee.tech/golang:alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
ENV GOPROXY=https://goproxy.cn \
|
|
GO111MODULE=on \
|
|
CGO_ENABLED=0 \
|
|
GOCACHE=/root/.cache/go-build \
|
|
GOMODCACHE=/go/pkg/mod
|
|
|
|
COPY go.mod go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件
|
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-core-api
|
|
|
|
FROM --platform=$TARGETPLATFORM docker-0.unsee.tech/alpine:latest
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache ca-certificates && update-ca-certificates && \
|
|
apk add --update tzdata && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
COPY --from=builder /app/pcm-core-api .
|
|
COPY --from=builder /app/etc/pcm.yaml .
|
|
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
EXPOSE 8999
|
|
|
|
ENTRYPOINT ./pcm-core-api --f pcm.yaml |