
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Dockerfile链接dev.go2go分支的Go2 Docker镜像这是来自https://github.com/golang/go/tree/dev.go2go%E7%9A%84Golang Docker镜像的nightly构建。希望此构建能帮助社区更多地使用Go2的新特性。
该分支包含用于Go泛型实验的类型检查器和转换工具,实现了泛型设计草案。
可按常规方式构建此分支,之后可使用新的go2go工具。将泛型代码写入扩展名为.go2的文件(而非.go),通过go tool go2go run x.go2运行。cmd/go2go/testdata/go2path/src中提供了一些示例包,运行go doc cmd/go2go可查看工具完整文档。
go2go工具通过环境变量GO2PATH查找.go2文件。设置GO2PATH=$GOROOT/src/cmd/go2go/testdata/go2path可获取一些用于实验的有用包。
若在更新后的类型检查器或转换工具中发现bug,应提交至标准Go问题跟踪器,并在问题标题以cmd/go2go开头。注意,问题跟踪器仅用于报告工具bug,不用于语言变更讨论。
与典型开发分支不同,此代码不计划合并至master分支。我们将针对bug修复和泛型设计草案变更进行更新。若泛型语言提案被接受,将在标准编译器中实现,而非通过转换工具。go/*包(如go/ast、go/parser等)的必要变更可能复用此原型代码,但需遵循常规代码审查流程。
注意: /go目录为全局可写,以支持容器运行用户的灵活性(例如,使用--user 1000:1000启动容器时,go get github.com/example/...可成功执行)。虽然777权限在常规主机环境中不安全,但容器内通常无其他进程或用户,因此在Docker使用中相当于700,同时支持--user灵活性。
使用此镜像最直接的方式是将Go容器同时作为构建和运行环境。在Dockerfile中按以下方式编写,可编译并运行项目:
dockerfileFROM levonet/golang:go2go WORKDIR /go/src/app COPY . . RUN go get -d -v ./... RUN go install -v ./... CMD ["app"]
然后构建并运行Docker镜像:
console$ docker build -t my-golang-app . $ docker run -it --rm --name my-running-app my-golang-app
有时可能不适合在容器内运行应用。如需在Docker实例内编译而非运行应用,可执行如下命令:
console$ docker run --rm -v "$PWD":/go/src/myapp -w /go/src/myapp levonet/golang:go2go go build -v
或编译.go2源文件:
console$ docker run --rm -v "$PWD":/go/src/myapp -w /go/src/myapp levonet/golang:go2go go tool go2go build
levonet/golang镜像有多种版本,适用于不同场景。
levonet/golang:<version>这是默认镜像。若不确定需求,建议使用此版本。设计用于临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。
部分标签可能包含如buster等名称,这些是Debian的版本代号,指示镜像基于哪个发行版。若镜像需安装镜像自带之外的额外包,建议显式指定版本以减少Debian新版本发布时的兼容性问题。
levonet/golang:<version>-alpine此镜像基于流行的Alpine Linux项目,来自https://hub.docker.com/_/alpine%E3%80%82Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
此变体高度实验性,且未得到Go项目官方支持(详见https://github.com/golang/go/issues/***%EF%BC%89%E3%80%82
主要注意事项是其使用musl libc而非glibc及相关库,可能导致意外行为。详见此Hacker News评论线程了解可能出现的问题及使用Alpine镜像的优缺点对比。
为最小化镜像大小,Alpine基础镜像不包含额外相关工具(如git、gcc或bash)。以此镜像为基础时,需在自己的Dockerfile中添加所需工具(若不熟悉,可参考https://hub.docker.com/_/alpine/%E4%B8%AD%E7%9A%84%E5%8C%85%E5%AE%89%E8%A3%85%E7%A4%BA%E4%BE%8B%EF%BC%89%E3%80%82%E5%8F%A6%E8%A7%81https://github.com/docker-library/golang/issues/250#issuecomment-451201761%E4%BA%86%E8%A7%A3%E6%9B%B4%E5%A4%9A%E8%A7%A3%E9%87%8A%E3%80%82
查看此镜像包含软件的许可证信息或Golang Dockerfile的https://github.com/levonet/docker-golang/blob/master/LICENSE%E3%80%82
与所有Docker镜像一样,其中可能包含其他软件,可能受其他许可证约束(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
可在https://github.com/docker-library/repo-info/tree/master/repos/golang%E4%B8%AD%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E8%83%BD%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E9%A2%9D%E5%A4%96%E8%AE%B8%E5%8F%AF%E8%AF%81%E4%BF%A1%E6%81%AF%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对镜像中所有软件的使用符合相关许可证要求。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 levonet/golang 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: