
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为基于Alpine Linux的Golang专用构建容器,旨在提供轻量级、高效的Golang应用开发与构建环境。依托Alpine Linux的极小体积特性(基础镜像约5-10MB),结合完整的Golang工具链,可作为独立构建环境或多阶段构建流程中的构建阶段使用,有效减少构建环境体积并提升资源利用率。
go编译器、go mod依赖管理、go test测试工具等核心组件适用于快速验证Golang项目编译结果,无需在本地安装特定版本的Golang环境。
集成到Jenkins、GitHub Actions、GitLab CI等CI/CD系统,作为构建阶段容器执行自动化编译。
在Docker多阶段构建中作为"构建阶段",编译生成二进制文件后,可将产物复制到Alpine或scratch等轻量级运行时镜像中,减少最终部署镜像体积。
通过docker run命令启动容器,挂载项目目录并执行构建命令:
bash# 挂载当前目录到容器内/app,指定工作目录为/app,执行go build docker run --rm -v $(pwd):/app -w /app docker.xuanyuan.run/golang:alpine go build -o myapp main.go
--rm:构建完成后自动删除容器,避免残留临时容器-v $(pwd):/app:将本地当前目录挂载到容器内/app目录-w /app:设置容器工作目录为/app(项目根目录)golang:alpine:镜像名称(实际使用时需替换为具体镜像标签,如golang:1.22-alpine指定Golang 1.22版本)go build -o myapp main.go:执行Golang构建命令,生成名为myapp的二进制文件在Dockerfile中使用本镜像作为构建阶段,配合轻量级运行时镜像:
dockerfile# 构建阶段:使用golang-alpine编译应用 FROM docker.xuanyuan.run/golang:alpine AS builder WORKDIR /app COPY . . RUN go mod download RUN CGO_ENABLED=0 GOOS=linux go build -o myapp main.go # 运行阶段:使用Alpine作为运行时 FROM docker.xuanyuan.run/alpine:latest WORKDIR /app COPY --from=builder /app/myapp . CMD ["./myapp"]
可通过-e参数设置Golang环境变量,优化构建行为:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
GOPROXY | 设置Go模块代理,加速依赖下载 | https://goproxy.cn,direct |
GOSUMDB | 模块校验和数据库地址 | sum.golang.org |
CGO_ENABLED | 是否启用CGO(0=禁用,1=启用) | 0(默认禁用,生成静态链接二进制) |
GOOS | 目标操作系统 | linux、darwin、windows |
GOARCH | 目标架构 | amd64、arm64 |
如需额外构建工具(如git、make、gcc等),可在运行时或Dockerfile中通过Alpine的apk包管理器安装:
bash# 安装git和make工具 docker run --rm docker.xuanyuan.run/golang:alpine apk add --no-cache git make
镜像通常以golang:<go-version>-alpine<alpine-version>格式命名,例如:
golang:1.22-alpine3.19:Golang 1.22 + Alpine 3.19golang:1.21-alpine:Golang 1.21 + 最新Alpine稳定版建议根据项目Golang版本需求选择对应标签,避免因版本差异导致构建错误。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 alpinelinux/golang 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: