利用Docker交叉编译AMD64 与 ARM64 双架构的 MinIO 最新版本

重要提示:MinIO 社区版现在仅作为源代码分发。我们将不再为社区版本提供预编译的二进制版本。旧的二进制/镜像“历史版本”仍可下载,但 不再接受更新、维护、修复,所以考虑自己编译,同时MinIO 是用 Go (Golang) 编写的,不依赖 C 库,也没有平台特定代码,所以通过设置环境变量 GOOS 和 GOARCH,即可在 x86 主机上生成 ARM 平台可执行文件。

快速使用:

docker run --rm -v $(pwd)/output:/output 4kerccc/minio-builder

输出情况:
✅ 最新版本: RELEASE.2025-10-15T17-29-55Z
✅ Commit ID: 9e49d5e7a
编译时间: 2025-11-04 03:06:01
️ 开始编译 amd64 版本...
go: downloading cloud.google.com/go/storage v1.52.0
go: downloading github.com/VividCortex/ewma v1.2.0
go: downloading github.com/prometheus/prometheus v0.303.0
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/hashicorp/errwrap v1.1.0
go: downloading github.com/jcmturner/dnsutils/v2 v2.0.0
go: downloading github.com/hashicorp/go-uuid v1.0.3
go: downloading github.com/apache/thrift v0.21.0
go: downloading github.com/lestrrat-go/httpcc v1.0.1
go: downloading github.com/spiffe/go-spiffe/v2 v2.5.0
go: downloading github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f
go: downloading github.com/envoyproxy/protoc-gen-validate v1.2.1
go: downloading github.com/jcmturner/rpc/v2 v2.0.3
go: downloading github.com/zeebo/errs v1.4.0
go: downloading cel.dev/expr v0.23.1
go: downloading github.com/jcmturner/aescts/v2 v2.0.0
✅ 编译完成: /output/minio-amd64
minio-amd64 version RELEASE.2025-10-15T17-29-55Z (commit-id=9e49d5e7a)
️ 开始编译 arm64 版本...
✅ 编译完成: /output/minio-arm64
/usr/local/bin/build_minio.sh: line 54: /output/minio-arm64: cannot execute binary file: Exec format error

所有版本编译完成,文件保存在 /output
total 205M
-rwxr-xr-x 1 root root 106M Nov 4 03:08 minio-amd64
-rwxr-xr-x 1 root root 100M Nov 4 03:09 minio-arm64

程序执行过程:
✅ 自动拉取最新版本
✅ 获取版本与 commit id
✅ 输出版本信息
✅ 自动交叉编译 AMD64 与 ARM64
✅ 自动注入版本号与 commit id
✅ 编译产物放入 output/ 目录

» 本文链接:利用Docker交叉编译AMD64 与 ARM64 双架构的 MinIO 最新版本
» 转载请注明来源:刺客博客
» 如果文章失效或者安装失败,请留言进行反馈。