有没有办法自动检测修改的行在Dockerfile和只重建从第一个修改行向前?

aydmsdu9  于 2022-11-03  发布在  Docker
关注(0)|答案(1)|浏览(119)

我正在使用Dockerfile构建一个Docker映像,并且我经常不得不调整Dockerfile中更靠下的行。(安装依赖项等),并向下工作到实际更改的行。是否有任何技术或通用方法来检测Dockerfile中第一个修改的行是什么,并且只从那一点开始重建?
这个请求是基于这样一个假设,即可以在Dockerfile的每一行存储一个快照。我假设这是可能的,因为构建时的输出日志表明在每一个换行符处都创建了中间容器。
我尝试过在每个断点映像ID处运行容器,并且确实可以查看从每个断点运行的容器(例如,安装软件包之前和之后,从URL中拉入数据文件之前和之后,等等)但我不知道如何指示Docker从这些中间映像点之一进行重建?此外,我不知道如何列出这些中间点后,图像的最终形式已经建立。

zpgglvta

zpgglvta1#

通常docker会自动执行这个操作。如果你不改变Docker文件开头的任何内容,它应该只缓存中间层。你可以在输出中看到这一点:---> Using cache有关构建缓存的更多信息可以在here中找到。
如果您在CI/CD系统或任何其他系统上进行构建,其中以前的构建缓存不可用,则可以通过cache backends外部化该高速缓存。

相关问题