arm32v5/golang注意:这是 golang 官方镜像 的 arm32v5 架构构建的“每架构”仓库——更多信息,请参见官方镜像文档中的“除 amd64 之外的架构?”和官方镜像常见问题中的“Git 中的镜像源已更改,现在该怎么办?”。
维护者:
Docker 社区
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接警告:此镜像在 arm32v5 架构上不受支持
提交问题的位置:
[***]
支持的架构:(更多信息)
amd64、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x、windows-amd64
已发布镜像工件详情:
repo-info 仓库的 repos/golang/ 目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/golang 标签
official-images 仓库的 library/golang 文件(历史记录)
本描述的来源:
docs 仓库的 golang/ 目录(历史记录)
Go(又称 Golang)是一种最初由 Google 开发的编程语言。它是一种静态类型语言,语法大致源自 C,但具有额外功能,如垃圾回收、类型安全、一些动态类型能力、额外的内置类型(例如变长数组和键值映射)以及大型标准库。
***.org/wiki/Go_(programming_language)
!logo
注意:/go 目录是世界可写的,以允许运行容器的用户灵活操作(例如,在以 --user 1000:1000 启动的容器中,将 go get github.com/example/... 运行到默认 $GOPATH 会成功)。虽然 777 目录在常规主机设置中不安全,但容器内通常没有其他进程或用户,因此这相当于 Docker 使用中的 700,但允许 --user 灵活性。
使用此镜像最直接的方式是将 Go 容器同时用作构建和运行时环境。在 Dockerfile 中,编写如下内容将编译并运行项目(假设使用 go.mod 进行依赖管理):
dockerfileFROM arm32v5/golang:1.25 WORKDIR /usr/src/app # 预复制/缓存 go.mod 以预下载依赖项,仅在后续构建中依赖项更改时重新下载 COPY go.mod go.sum ./ RUN go mod download COPY . . RUN go build -v -o /usr/local/bin/app ./... 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":/usr/src/myapp -w /usr/src/myapp arm32v5/golang:1.25 go build -v
这会将当前目录作为卷添加到容器,将工作目录设置为该卷,并运行 go build 命令,该命令会告诉 go 编译工作目录中的项目并将可执行文件输出到 myapp。或者,如果有 Makefile,可以在容器内运行 make 命令:
console$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp arm32v5/golang:1.25 make
如果需要为 linux/amd64 以外的平台(如 windows/386)编译应用:
console$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=386 arm32v5/golang:1.25 go build -v
或者,可以同时为多个平台构建:
console$ docker run --rm -it -v "$PWD":/usr/src/myapp -w /usr/src/myapp arm32v5/golang:1.25 bash $ for GOOS in darwin linux; do > for GOARCH in 386 amd64; do > export GOOS GOARCH > go build -v -o myapp-$GOOS-$GOARCH > done > done
如果下载依赖项时出现“校验和不匹配”等错误,应检查是否使用了 Git LFS(因此需要安装它来下载依赖项并计算正确的 go.sum 值)。
查看此镜像中包含的软件的 许可信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他受其他许可约束的软件(例如基础发行版中的 Bash 等,以及包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可信息可能位于 repo-info 仓库的 golang/ 目录 中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用都符合其中包含的所有软件的相关许可。


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