prom/golang-builder
Prometheus Golang builder是用于跨平台构建Golang Prometheus项目的Docker构建镜像。该镜像提供标准化的构建环境,支持为多种架构编译Prometheus相关Golang应用,简化跨平台构建流程。
以下是可用的镜像标签及其对应的架构和Dockerfile链接:
| 标签 | 架构/说明 | Dockerfile链接 |
|---|---|---|
latest, main, 1.6-main, 1.6.3-main | 基础架构版本(Go 1.6) | 1.6/main/Dockerfile |
arm, 1.6-arm, 1.6.3-arm | ARM架构(Go 1.6) | 1.6/arm/Dockerfile |
powerpc, 1.6-powerpc, 1.6.3-powerpc | PowerPC架构(Go 1.6) | 1.6/powerpc/Dockerfile |
mips, 1.6-mips, 1.6.3-mips | MIPS架构(Go 1.6) | 1.6/mips/Dockerfile |
1.5-main, 1.5.4-main | 基础架构版本(Go 1.5) | 1.5/main/Dockerfile |
1.5-arm, 1.5.4-arm | ARM架构(Go 1.5) | 1.5/arm/Dockerfile |
1.5-powerpc, 1.5.4-powerpc | PowerPC架构(Go 1.5) | 1.5/powerpc/Dockerfile |
Makefile,且定义build(构建目标)和test(测试目标)命令。构建脚本builder.sh支持以下参数:
| 参数 | 缩写 | 描述 |
|---|---|---|
--import-path | -i | 项目的Go导入路径(如github.com/prometheus/prometheus) |
--platforms | -p | 目标构建平台列表,格式为GOOS/GOARCH,多个平台用空格分隔(如linux/amd64 darwin/amd64) |
--tests | -T | 仅运行项目测试用例,不执行构建 |
适用于主流架构(如amd64、386等)的跨平台构建:
bashdocker run --rm -ti -v $(pwd):/app prom/golang-builder:main \ -i "github.com/prometheus/prometheus" \ -p "linux/amd64 linux/386 darwin/amd64 darwin/386 windows/amd64 windows/386 freebsd/amd64 freebsd/386 openbsd/amd64 openbsd/386 netbsd/amd64 netbsd/386 dragonfly/amd64"
针对ARM架构(如arm、arm64)的构建:
bashdocker run --rm -ti -v $(pwd):/app prom/golang-builder:arm \ -i "github.com/prometheus/prometheus" \ -p "linux/arm linux/arm64 freebsd/arm openbsd/arm netbsd/arm"
针对PowerPC架构(如ppc64、ppc64le)的构建:
bashdocker run --rm -ti -v $(pwd):/app prom/golang-builder:powerpc \ -i "github.com/prometheus/prometheus" \ -p "linux/ppc64 linux/ppc64le"
针对MIPS架构(mips64、mips64le)的构建(需Go 1.6及以上版本):
bashdocker run --rm -ti -v $(pwd):/app prom/golang-builder:mips \ -i "github.com/prometheus/prometheus" \ -p "linux/mips64 linux/mips64le"
使用-T参数运行项目测试用例:
bashdocker run --rm -ti -v $(pwd):/app prom/golang-builder:main \ -i "github.com/prometheus/prometheus" \ -T
OSX/Darwin/Apple平台构建注意事项:
使用本镜像构建OSX/Darwin/Apple平台的二进制文件前,请确保您已阅读并同意Xcode许可条款。
circle.yml),可用于自动化构建流程。#prometheus on irc.freenode.net)获取支持。详见CONTRIBUTING.md。
本项目采用Apache License 2.0许可,详见LICENSE。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务