CentOS 下 Golang 打包加速实用指南
一 基础加速要点
二 构建参数与链接优化
三 环境与硬件优化
四 Docker 与 CI 场景
五 常用命令模板
export GOMAXPROCS=$(nproc)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -p $(nproc) -ldflags "-s -w" -o myapp main.go
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -p $(nproc) -ldflags "-s -w" -o myapp-linux-amd64 main.go
FROM golang:1.23-alpine AS build
WORKDIR /src
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -p $(nproc) -ldflags "-s -w" -o /bin/app ./cmd/app
FROM alpine:latest
COPY --from=build /bin/app /app/app
CMD ["/app/app"]
# 准备依赖
go mod tidy
go mod vendor
# 构建(命中本地 vendor,避免网络)
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -p $(nproc) -mod=vendor -ldflags "-s -w" -o myapp main.go