指定 SHA 时如何使用多架构基础 docker 镜像

问题描述 投票:0回答:1

我一直遵循我们的内部程序,需要将 docker 基础镜像固定到特定的 SHA。 并且,我需要为 x86_64 和 ARM 构建多架构映像。

我正在查看的基础镜像对于每个架构都有一个 SHA(我希望这是完全合理的)。那么,如果结果图像也应该是多架构的,我如何在FROM中指定

特定
SHA?我是否被困在每个拱门上使用Dockerfile??
    

docker dockerfile sha
1个回答
6
投票

多平台映像的清单列表有自己的摘要,这就是您想要提供给工具的内容。有多种工具可以实现这一点。我自己的工具是带有 regctl CLI 的 regclient,Google 的 go-containerregistry 有 Crane,Docker 已经在 buildx 下包含了一个 imagetools CLI:

$ regctl image digest bitnami/minideb sha256:713d1fbd2edbc7adf0959721ad360400cb39d6b680057f0b50599cba3a4db09f $ crane digest bitnami/minideb sha256:713d1fbd2edbc7adf0959721ad360400cb39d6b680057f0b50599cba3a4db09f $ docker buildx imagetools inspect bitnami/minideb Name: docker.io/bitnami/minideb:latest MediaType: application/vnd.docker.distribution.manifest.list.v2+json Digest: sha256:713d1fbd2edbc7adf0959721ad360400cb39d6b680057f0b50599cba3a4db09f Manifests: Name: docker.io/bitnami/minideb:latest@sha256:2abaa4a8ba2c3ec9ec3cb16a55820db8d968919f41439e1e8c86faca81c8674a MediaType: application/vnd.docker.distribution.manifest.v2+json Platform: linux/amd64 Name: docker.io/bitnami/minideb:latest@sha256:3c44390903734b2657728fcad8fb33dcdf311bdeaafcc3b9f179d78bdf4da669 MediaType: application/vnd.docker.distribution.manifest.v2+json Platform: linux/arm64

© www.soinside.com 2019 - 2024. All rights reserved.