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

