从图像中获取多阶段 dockerfile
Get multistage dockerfile from image
我已尝试 docker history
和 dfimage
从 docker 图像中获取 docker 文件。
据我所知,没有关于多级 docker 文件的任何信息。当我考虑它时,这是有道理的。最终的 docker 图像只知道复制了文件。它可能没有保留对用于构建它的图层的引用。
但我想我会问只是为了确定。 (这真的很有帮助)
例如:我有一个多阶段 docker 文件,在第一阶段构建一个 dot.net 核心应用程序,然后在第二阶段将构建的文件复制到 Nginx 容器中。
根据最终图像,有什么方法可以获取用于构建的 docker 文件?
不,这是不可能的。 Docker 图像将只有它自己的历史,而不是之前可能使用过的多个阶段
不幸的是,这是不可能的,因为您的最终 docker 图像将不包含“生成器”阶段的任何内容。基本上,构建器阶段是构建的完全不同的图像,文件是在构建最终图像期间从中复制的,然后被丢弃。
来自构建器阶段的阶段将存在于您的构建缓存中,您甚至可以将它们标记为 运行 某种针对它们的 docker 图像分析器。但是,如果您只能访问最终图像,这对您没有帮助...
我已尝试 docker history
和 dfimage
从 docker 图像中获取 docker 文件。
据我所知,没有关于多级 docker 文件的任何信息。当我考虑它时,这是有道理的。最终的 docker 图像只知道复制了文件。它可能没有保留对用于构建它的图层的引用。
但我想我会问只是为了确定。 (这真的很有帮助)
例如:我有一个多阶段 docker 文件,在第一阶段构建一个 dot.net 核心应用程序,然后在第二阶段将构建的文件复制到 Nginx 容器中。
根据最终图像,有什么方法可以获取用于构建的 docker 文件?
不,这是不可能的。 Docker 图像将只有它自己的历史,而不是之前可能使用过的多个阶段
不幸的是,这是不可能的,因为您的最终 docker 图像将不包含“生成器”阶段的任何内容。基本上,构建器阶段是构建的完全不同的图像,文件是在构建最终图像期间从中复制的,然后被丢弃。
来自构建器阶段的阶段将存在于您的构建缓存中,您甚至可以将它们标记为 运行 某种针对它们的 docker 图像分析器。但是,如果您只能访问最终图像,这对您没有帮助...