我想下载用于amd64和arm64架构的oraclelinux的docker映像。但两者都显示了相同的sha256摘要。为什么会这样呢?
docker pull --platform=linux/amd64 oraclelinux:7-slim
Trying to pull repository docker.io/library/oraclelinux ...
7-slim: Pulling from docker.io/library/oraclelinux
Digest: sha256:7a46c0134e2cad2d15a98eac50c89f9e0f4640c0461b838672d41ea0710d75c5
Status: Downloaded newer image for oraclelinux:7-slim
oraclelinux:7-slimdocker pull --platform=linux/arm64 oraclelinux:7-slim
Trying to pull repository docker.io/library/oraclelinux ...
7-slim: Pulling from docker.io/library/oraclelinux
Digest: sha256:7a46c0134e2cad2d15a98eac50c89f9e0f4640c0461b838672d41ea0710d75c5
Status: Downloaded newer image for oraclelinux:7-slim
oraclelinux:7-slim正如在如何在gitlab-ci.yml中指定图像平台中提到的,我想在Gitlab CD中分别使用这两种方法。我该怎么做?
发布于 2022-06-19 19:40:51
停靠者列出的摘要是清单列表。当图像被提取时,它将被取消引用到特定于平台的清单,但是docker列出了清单列表以确保可移植性(相同的摘要可以用于其他多个平台)。
$ regctl manifest get oraclelinux:7-slim
Name: oraclelinux:7-slim
MediaType: application/vnd.docker.distribution.manifest.list.v2+json
Digest: sha256:7a46c0134e2cad2d15a98eac50c89f9e0f4640c0461b838672d41ea0710d75c5
Manifests:
Name: docker.io/library/oraclelinux:7-slim@sha256:eccab04a8a5299ea5ae6cc51ad697aa01012ff2732c999360c4d218dd9451440
Digest: sha256:eccab04a8a5299ea5ae6cc51ad697aa01012ff2732c999360c4d218dd9451440
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/amd64
Name: docker.io/library/oraclelinux:7-slim@sha256:fd4d966f65ddc0ac1727570766563e2f9d0dd8e2557234d179a017e244e67979
Digest: sha256:fd4d966f65ddc0ac1727570766563e2f9d0dd8e2557234d179a017e244e67979
MediaType: application/vnd.docker.distribution.manifest.v2+json
Platform: linux/arm64发布于 2022-06-22 03:17:20
正如@BMitch所提到的,这个sha256来自清单列表,其中包含所有的体系结构。
由于Docker映像的多个体系结构/平台标记具有不同的摘要,所以可以使用使用文件摘要提取码头形象 (而不是使用标记)来提取所需的体系结构/平台。
正如我们在奥拉克伦中所看到的--来自arm64的sha256是fd4d966f65ddc0ac1727570766563e2f9d0dd8e2557234d179a017e244e67979,所以您可以通过运行以下命令来获取这个图像:
$ docker pull oraclelinux@sha256:fd4d966f65ddc0ac1727570766563e2f9d0dd8e2557234d179a017e244e67979 但是看起来oraclelinux有另一个存储库来存储arm64图像,所以您也许可以运行:
$ docker pull oraclelinux:7-slim
$ docker pull arm64v8/oraclelinux:7-slim对你有用吗?
发布于 2022-06-19 03:51:07
添加before_script
然后剧本
调整这个以最适合你。
我把两样都拉了。迪夫能帮你。
diff <(docker inspect 6b9fd09833be) <(docker inspect 554de8d676bd)https://stackoverflow.com/questions/72674124
复制相似问题