|
|
@@ -1,26 +1,20 @@ |
|
|
# 第一阶段:构建二进制文件 |
|
|
|
|
|
FROM --platform=$BUILDPLATFORM golang:alpine AS builder |
|
|
FROM --platform=$BUILDPLATFORM golang:alpine AS builder |
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
WORKDIR /app |
|
|
COPY go.mod go.sum ./ |
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
# 缓存依赖项 |
|
|
|
|
|
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct |
|
|
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct |
|
|
RUN go mod download |
|
|
RUN go mod download |
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
|
|
|
ARG TARGETOS |
|
|
ARG TARGETOS |
|
|
ARG TARGETARCH |
|
|
ARG TARGETARCH |
|
|
|
|
|
|
|
|
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件 |
|
|
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件 |
|
|
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-core-api |
|
|
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-core-api |
|
|
|
|
|
|
|
|
# 第二阶段:构建最终镜像 |
|
|
|
|
|
FROM --platform=$TARGETPLATFORM alpine:latest |
|
|
FROM --platform=$TARGETPLATFORM alpine:latest |
|
|
WORKDIR /app |
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
# 修改alpine源为上海交通大学 |
|
|
|
|
|
|
|
|
#修改alpine源为上海交通大学 |
|
|
RUN apk add --no-cache ca-certificates && update-ca-certificates && \ |
|
|
RUN apk add --no-cache ca-certificates && update-ca-certificates && \ |
|
|
apk add --update tzdata && \ |
|
|
apk add --update tzdata && \ |
|
|
rm -rf /var/cache/apk/* |
|
|
rm -rf /var/cache/apk/* |
|
|
|