以下是Golang打包CentOS项目的最佳实践:
go mod init <模块名> # 初始化 go mod tidy # 同步依赖 GOOS和GOARCH环境变量生成适配CentOS的二进制文件(如Linux 64位)。GOOS=linux GOARCH=amd64 go build -o app main.go CGO_ENABLED=0和-ldflags="-s -w"参数,生成不依赖外部库的自包含二进制文件。CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o app main.go FROM golang:alpine AS build WORKDIR /app COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app FROM alpine COPY --from=build /app/app /app CMD ["/app/app"] -p参数并行构建(如go build -p 4)。go clean -cache)并启用缓存工具(如sccache)。chmod +x app),可通过nohup后台运行。参考来源: