多架构镜像存储
小于 1 分钟
如何存储多架构镜像到私有库
# 多架构镜像
# quay.io/coreos/etcd:v3.5.0
$ docker pull --platform=linux/amd64 quay.io/coreos/etcd:v3.5.0
$ docker tag quay.io/coreos/etcd:v3.5.0 \
registry.my.net/bingokube/etcd:v3.5.0-amd64
$ docker pull --platform=linux/arm64 quay.io/coreos/etcd:v3.5.0
$ docker tag quay.io/coreos/etcd:v3.5.0 \
registry.my.net/bingokube/etcd:v3.5.0-arm64
$ docker push registry.my.net/bingokube/etcd:v3.5.0-amd64
$ docker push registry.my.net/bingokube/etcd:v3.5.0-arm64
# 此时无法拉取镜像下面的无法执行
$ docker pull registry.my.net/bingokube/etcd:v3.5.0
# 制作清单
$ docker manifest create --insecure registry.my.net/bingokube/etcd:v3.5.0 \
registry.my.net/bingokube/etcd:v3.5.0-amd64 \
registry.my.net/bingokube/etcd:v3.5.0-arm64
# 推送清单
$ docker manifest push --insecure registry.my.net/bingokube/etcd:v3.5.0
# 查看清单
$ docker manifest inspect registry.my.net/bingokube/etcd:v3.5.0
{
"schemaVersion": 2,
"mediaType": "application/vnd.xxx.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.xxx.v2+json",
"size": 1783,
"digest": "sha256:abc",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.xxx.v2+json",
"size": 1576,
"digest": "sha256:abc",
"platform": {
"architecture": "arm64",
"os": "linux"
}
}
]
}