以 dockerhub 上托管的以下存储库为例:\n https://hub.docker.com/r/frolvlad/alpine-miniconda3 \n
\n
\n
\n执行以下命令以通过摘要提取映像:
docker pull frolvlad/alpine-miniconda3:python3.7@sha256:9bc9c096713a6e47ca1b4a0d354ea3f2a1f67669c9a2456352d28481a6ce2fbe\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n根据docker 文档,通过摘要提取图像具有以下属性:
\n\n\n使用此功能\xe2\x80\x9cpins\xe2\x80\x9d将图像及时转换为特定版本
\n
据我了解,在任何时候使用该摘要提取的 docker 映像都是不可变的。\n
尽管它不会对其中的可变或看似可变的引用进行评论。\n
\n
\n最重要的是docker 的第一行文件读取
FROM frolvlad/alpine-glibc:alpine-3.9\n
Run Code Online (Sandbox Code Playgroud)\n\n根据我的阅读,我认为如果作者更改了 dockerfile 中的第一行并推送(即使它是相同的标签),我将不会受到影响,因为我指向图像摘要。然而,\n由于作者引用了 dockerfile 中的标签,而不是摘要,我如何确认使用什么 dockerfile/基本映像来构建其映像?因为看起来仅仅分析frolvlad/alpine-glibc:alpine-3.9
dockerfile 是不够的,因为它在创建映像时可能会有所不同。