# 多阶段构建 FROM golang:alpine AS builder WORKDIR /app COPY go.mod go.sum ./ RUN sed -i 's/go 1.2[6-9].*/go 1.21/' go.mod && go mod tidy RUN go env -w GOPROXY=https://goproxy.cn,direct RUN go mod download COPY . . # 编译时不注入任何版本信息(纯净二进制) RUN CGO_ENABLED=0 GOOS=linux go build \ -ldflags="-s -w" \ -o frpc-console . FROM alpine:latest # 先切换到国内镜像源,再安装包 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk --no-cache add ca-certificates tzdata sqlite WORKDIR /app COPY --from=builder /app/frpc-console /app/frpc-console COPY static/ /app/static/ EXPOSE 9300 ENTRYPOINT ["/app/frpc-console"]