Golang 1.22版本Docker镜像缺少linux/amd64架构支持

Golang 1.22版本Docker镜像缺少linux/amd64架构支持 编辑:已发布修复此问题的新镜像。谢谢。

我推测这不是有意为之:Docker Hub 上的 golang 1.22 Linux 镜像缺少 linux/amd64 架构,但确实包含 linux/386 架构。

1 回复

更多关于Golang 1.22版本Docker镜像缺少linux/amd64架构支持的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


根据官方Docker Hub仓库的信息,Golang 1.22的Docker镜像确实存在linux/amd64架构缺失的问题。这可能是镜像构建过程中的配置错误导致的。

目前可用的解决方案是使用多架构镜像标签或指定具体架构版本。以下是几种解决方法:

1. 使用带架构后缀的标签

FROM golang:1.22.0-alpine3.19-amd64

2. 使用完整镜像哈希

FROM golang@sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

3. 临时降级到1.21版本

FROM golang:1.21-alpine

4. 使用平台参数(Docker Buildx)

docker build --platform linux/amd64 -t myapp .

对于生产环境,建议锁定具体的镜像版本和架构:

FROM golang:1.22.0-alpine3.19@sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

这个问题已在更新的镜像中得到修复,现在可以直接使用:

FROM golang:1.22-alpine

镜像的架构支持情况可以通过以下命令验证:

docker manifest inspect golang:1.22-alpine | grep architecture
回到顶部