go generate go build -o app.exe -ldflags "-s -w -extldflags '-static'" 3 交叉编译 Go 语言支持交叉编译 意味着你可以在 Windows 编译出其他系统、其他架构的可执行文件 编译时由 Go的环境变量 GOOS、GOARCH 控制目标系统和架构 GOOS: windows darwin MacOS linux freebsd ...
/appWORKDIR /appRUN go env -w GOPROXY="goproxy.cn,direct"RUN go build -ldflags="-w -s" -o demo-plugin FROM alpineWORKDIR /appCOPY --from=builder /app/demo-plugin /app/demo-plugin # static fileCOPY ./html ./htmlENTRYPOINT ["/app/demo-plugin"] Copy 编译镜像 docker build -f your...
# stage 1# 替换为ARMS编译镜像,其余保持一致# 根据实际情况替换为对应Region的镜像FROMregistry-cn-hangzhou.ack.aliyuncs.com/acs/golangbuilder-alpine-linux-amd64:0.0.1as builderRUN--mount=type=ssh \ go build -v -buildmode=pie -ldflags"-linkmode external -extldflags -static"\ -o /workspace/dem...
go build -o release/main_linux_amd64 -ldflags'-linkmode "external" -extldflags "-static"'-tags osusergo,netgo,sqlite_omit_load_extension main.go
不同的Go版本下静态编译方式还有点不同,在go 1.10下, 下面的方式会尽可能做到静态编译: CGO_ENABLED=0go build -a -ldflags'-extldflags "-static"'. 参考: 1.golang语言编译的二进制可执行文件为什么比 C 语言大 2.完全静态编译一个Go程序
FROM golang:alpine AS builderWORKDIR /buildRUN apk add upxCOPY . .RUN go build -ldflags "-s -w" -o hello hello.go && upx helloFROM alpineWORKDIR /buildCOPY --from=builder /build/hello /build/helloCMD ["./hello"]docker build -t hello:v1 . dive hello:v1 ....
prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include-I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw...
. RUN CGO_ENABLED=0 go build -ldflags "-s -w -extldflags "-static"" ./cmd/appnamehere WORKDIR /usr/share/zoneinfo # -0 means no compression. Needed because go's # tz loader doesn't handle compressed data. RUN zip -r -0 /zoneinfo.zip . FROM scratch # the timezone data: ENV...
static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS=...
不同的Go版本下静态编译方式还有点不同,在go 1.10下, 下面的方式会尽可能做到静态编译: CGO_ENABLED=0go build -a -ldflags'-extldflags "-static"'. 1. 参考: 1.golang语言编译的二进制可执行文件为什么比 C 语言大 2.完全静态编译一个Go程序