繁体   English   中英

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

[英]How to use a multiarch base docker image when specifying SHA

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

我正在查看的基本图像对每个架构都有一个 SHA(我希望这完全有意义)。 那么,如果生成的图像也应该是多体系结构的,我该如何在FROM中指定特定的 SHA? 我是否坚持为每个拱门使用Dockerfile

Docker Hub 没有在 web 页面上显示它,但是多平台图像的清单列表有它自己的摘要,这就是您想要提供给工具的内容。 有多种工具可以做到这一点。 我自己的工具是带有 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM