pcm-coordinator/Dockerfile

38 lines
929 B
Docker

FROM --platform=$BUILDPLATFORM 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