如何在指定SHA时使用多架构基础Docker映像

mec1mxoz  于 2022-12-18  发布在  Docker
关注(0)|答案(1)|浏览(143)

我坚持遵循我们的内部过程,* 需要 * 将Docker基础映像固定到特定SHA。* 和 *,我坚持需要为x86_64和ARM构建多主机映像。
I'm looking at的基础映像为每个架构都有一个SHA(我认为这是完全有意义的)。那么,如果 * 结果 * 映像也应该是多架构的,我如何在FROM中指定一个 * 特定 * SHA呢?我是否坚持为每个架构使用Dockerfile

46scxncf

46scxncf1#

Docker Hub不会在网页上显示它,但是多平台映像的清单列表有它自己的摘要,这就是你想要提供给工具的内容。有很多工具可以获得它。我自己的工具是带有regctl CLI的regclient,Google的go-containerregistry有起重机,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

相关问题