gpt4 book ai didi

docker - docker inspect -f '{{.Parent}}' 是获取基本镜像 ID 的安全方法吗?

转载 作者:行者123 更新时间:2023-12-04 18:22:41 25 4
gpt4 key购买 nike

我想在 Docker 容器的基础镜像更改时自动重建它们。这个想法是将当前标记容器的基础镜像 ID 与 Docker Hub 中基础镜像的 ID 进行比较,如果不同,则运行新的构建。

获取最新的基本图像 ID 似乎非常简单:

$ docker pull debian:latest >/dev/null 2&>1; docker images debian:latest -q
sha256:a20fd0d59cf13f82535ccdda818d70b97ab043856e37a17029e32fc2252b8c56
docker inspect有一个名为“Parent”的条目,它似乎包含 FROM 中使用的图像的 ID指示:
$ docker inspect -f '{{.Parent}}' dockertest-1
sha256:a20fd0d59cf13f82535ccdda818d70b97ab043856e37a17029e32fc2252b8c56

由于我真的找不到任何关于此的文档,我想知道我是否应该依靠这些数据来构建我的构建管道。

最佳答案

父引用不指向 FROM 中的基本图像Dockerfile 的一行,它指向图像中最后一层的下一层。如果您的构建只包含一个层,那么这可以是 FROM行,但是在 Dockerfile 中添加第二行会破坏您的脚本。

如果您知道基本图像的标签(此类元信息未存储在图像中,因此您需要在外部对其进行跟踪,可能会为您的图像添加标签),那么您可以搜索 docker history基本图像的当前 sha256 的当前图像。我会使用以下参数来生成一个 ID 列表:

$ docker history --format '{{ .ID }}' --no-trunc $image_id

关于docker - docker inspect -f '{{.Parent}}' 是获取基本镜像 ID 的安全方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45821389/

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