优化 Dockerfile
Some checks failed
Docker / build (push) Has been cancelled

This commit is contained in:
2025-12-20 15:15:54 +08:00
parent c8fd4cf9ca
commit 7bdbb7ddff

View File

@@ -1,35 +1,31 @@
# 第一阶段:构建
FROM golang:1.24.0 AS builder
ENV GOPROXY=https://goproxy.cn,direct
FROM golang:1.25.3 AS builder
WORKDIR /build
# 复制Go模块文件
ENV GOPROXY=https://goproxy.cn,direct
ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64
COPY go.mod go.sum ./
RUN go mod download
# 复制源代码
COPY . .
# 编译
RUN GOOS=linux GOARCH=amd64 go build -ldflags '-w -s' -o bin/platform_linux_amd64 cmd/main/main.go
RUN go build -ldflags '-w -s' -o bin/platform_linux_amd64 cmd/main/main.go
# 第二阶段:运行环境
FROM ubuntu:24.04 AS runner
FROM alpine:3.23 AS runner
WORKDIR /app
RUN apt-get update && apt-get install -y ca-certificates
ENV TZ=Asia/Shanghai
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
RUN apk add --no-cache ca-certificates tzdata
# 从构建阶段复制编译好的二进制文件
COPY --from=builder /build/bin/platform_linux_amd64 /app/platform
# 设置可执行权限
RUN chmod +x /app/platform
# 声明暴露端口
EXPOSE 8080
# 启动平台服务
CMD ["/app/platform"]