以下是在CentOS上打包Golang应用的实用技巧:
go mod init)并添加依赖(go get),确保版本可控。GOOS和GOARCH环境变量生成不同平台的可执行文件,如GOOS=linux GOARCH=amd64 go build -o myapp。-ldflags="-s -w"参数去除符号表和调试信息,减小文件体积;使用CGO_ENABLED=0避免动态链接库依赖。UPX压缩二进制文件(upx --best myapp)。go clean -cache清理构建缓存,提升编译速度。FROM golang:1.20-alpine AS build
WORKDIR /app
COPY . .
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o myapp
FROM alpine:latest
COPY --from=build /app/myapp /
CMD ["./myapp"]
```。