【问题标题】:How to find out which layers of a docker image are part of the base image如何找出 docker 镜像的哪些层是基础镜像的一部分
【发布时间】:2017-10-23 08:46:18
【问题描述】:

有没有办法使用 docker registry API 来获取 docker 镜像的哪些层来自基础镜像(从 FROM 指令继承)?

我想分析我的 Dockerfile 添加的新层。为此,我需要仅过滤和隔离新图层,将来自原始基础图像的每一层都分开,并且我没有看到一种可靠的方法来处理调用后得到的响应

myregistry/v2/myimage/manifests/mytag

【问题讨论】:

    标签: docker layer docker-registry


    【解决方案1】:

    我认为您需要查询基本图像,然后是您的图像并得出差异。随着时间的推移,标签可以引用不同的实体,因此如果您在构建发生后的某个时间报告此问题,您可能会遇到问题。

    您也可以在 Docker Engine API 中使用 inspect the images 或 check the history,并以相同的方式提出层差异。

    【讨论】:

    • 这是我的备份解决方案,但我试图在不知道基本映像的情况下这样做,以避免向我们的用户询问额外的信息。
    • 一个镜像有一组 fs 层被它们的 sha256 校验和引用,我不认为 docker 存储了构建过程中使用的FROM 或 Dockerfile 层次结构的详细信息。
    猜你喜欢
    • 2020-01-20
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2017-09-29
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多