29 lines
766 B
Docker
29 lines
766 B
Docker
FROM --platform=$BUILDPLATFORM golang:1.22.4-alpine3.20 AS builder
|
|
|
|
WORKDIR /app
|
|
COPY . .
|
|
|
|
ENV GO111MODULE=on GOPROXY=https://goproxy.cn,direct
|
|
RUN go mod download
|
|
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
# 使用 GOOS 和 GOARCH 环境变量来构建不同架构的二进制文件
|
|
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-w -s" -o pcm-openstack
|
|
|
|
FROM --platform=$TARGETPLATFORM alpine:latest
|
|
WORKDIR /app
|
|
|
|
#修改alpine源为上海交通大学
|
|
RUN 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 --from=builder /app/etc/pcmopenstack.yaml .
|
|
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
EXPOSE 2010
|
|
|
|
ENTRYPOINT ./pcm-openstack --f pcmopenstack.yaml |