
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Go(golang)Docker镜像基于官方Go语言运行时构建,集成完整开发工具链,用于简化Go应用的开发、编译与部署流程。该镜像提供多版本和架构支持,确保开发、测试与生产环境的一致性,是Go项目容器化的理想选择。
拉取镜像
bash# 拉取最新稳定版 docker pull golang:latest # 拉取指定版本(推荐) docker pull golang:1.22-alpine # 轻量级Alpine版本 docker pull golang:1.22-bullseye # Debian Bullseye版本(完整依赖)
验证安装
bashdocker run --rm golang:1.22-alpine go version # 输出示例:go version go1.22.0 linux/amd64
编译本地项目
bash# 进入项目目录 cd /path/to/your/go/project # 挂载代码并编译 docker run --rm -v "$PWD":/go/src/app -w /go/src/app golang:1.22-alpine \ sh -c "go mod init myapp && go build -o myapp"
运行Go应用
bash# 直接运行源码(开发模式) docker run --rm -v "$PWD":/go/src/app -w /go/src/app golang:1.22-alpine go run main.go # 运行编译后的二进制 docker run --rm -v "$PWD":/app -w /app alpine:3.19 ./myapp
创建docker-compose.yml:
yamlversion: '3.8' services: go-dev: image: golang:1.22-alpine volumes: - ./:/go/src/app # 挂载本地代码 - go-mod-cache:/go/pkg/mod # 缓存依赖 working_dir: /go/src/app environment: - GOPROXY=https://goproxy.cn # 国内代理加速 - GO111MODULE=on command: sh -c "go mod download && go run main.go" volumes: go-mod-cache: # 持久化依赖缓存
启动服务:
bashdocker-compose up
创建Dockerfile:
dockerfile# 阶段1:编译 FROM golang:1.22-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . # 阶段2:运行(仅包含二进制文件) FROM alpine:3.19 WORKDIR /root/ COPY --from=builder /app/app . EXPOSE 8080 CMD ["./app"]
构建并运行:
bashdocker build -t my-go-app . docker run -p 8080:8080 my-go-app
常用环境变量:
| 变量名 | 描述 | 默认值 |
|---|---|---|
| GOPATH | Go工作目录 | /go |
| GOBIN | 可执行文件输出目录 | $GOPATH/bin |
| GO111MODULE | 模块支持开关 | on |
| GOPROXY | 模块代理地址 | [***] |
| GOSUMDB | 校验和数据库 | sum.golang.org |
配置示例:
bashdocker run --rm -e GOPROXY=[***] golang:1.22-alpine go mod download
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 blueoceans/golang 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: