gpt4 book ai didi

Docker:通过摘要提取图像,内部使用标签

转载 作者:行者123 更新时间:2023-12-01 18:57:36 32 4
gpt4 key购买 nike

以 dockerhub 上托管的以下存储库为例: 奥 git _a


执行以下命令以通过摘要提取图像:

docker pull frolvlad/alpine-miniconda3:python3.7@sha256:9bc9c096713a6e47ca1b4a0d354ea3f2a1f67669c9a2456352d28481a6ce2fbe


基于 https://hub.docker.com/r/frolvlad/alpine-miniconda3 通过摘要提取图像具有以下属性:

Using this feature “pins” an image to a specific version in time

据我了解,在任何时候用该摘要提取的 docker 镜像都是不可变的。
尽管它没有对内部可变的或看似可变的引用进行评论。

最重要的是 docker documentation 读取

FROM frolvlad/alpine-glibc:alpine-3.9

根据我的阅读,如果作者更改 dockerfile 中的第一行并推送(即使它是相同的标签),我会假设我不会受到影响,因为我指向图像摘要。然而,由于作者引用了 dockerfile 中的标签,而不是摘要,我如何确认使用什么 dockerfile/基本镜像来构建其镜像?看起来仅仅分析 frolvlad/alpine-glibc:alpine-3.9 dockerfile 是不够的,因为它在创建镜像时可能会有所不同。

最佳答案

你说得对,摘要拉取的图像实际上(!)是不可更改的。

图像摘要是根据构成图像的层计算的 SHA-256 哈希值。因此,不同的图像共享相同的摘要的可能性极小。

图像的图层一旦创建就不会改变。因此,即使 FROM 图像发生更改,您现有的图像也不会随之更改。

但是,如果您使用新的(相同标记的)FROM 镜像重建镜像,则镜像的摘要将会发生变化,这将向您发出一个信号,表明某些内容已发生变化。

也可以在 FROM 语句中使用摘要(出于您引用的原因),但很少有开发人员这样做。您可能希望确保您的 DockerfilesFROM 语句中使用摘要,以确保您始终使用相同的图像源。

但是,它一直向下(或向上)都是乌龟,因此您会递归地将信任委托(delegate)给从中派生出您的图像,一直到 SCRATCH

这是推荐图像漏洞工具的原因之一。

我最近在自己的教育中探索了这一点:

https://medium.com/google-cloud/adventures-w-docker-manifests-78f255d662ff

关于Docker:通过摘要提取图像,内部使用标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407999/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com