首頁  >  問答  >  主體

docker-images - Dockerfile生成镜像的时候是如何缓存的?

比如我安装一个东西耗时两个小时,但是构建成功之后再构建一次他就很快了,说明它缓存了,现在我的疑惑是如果我稍微改变了一点东西,如何保证他不需要在再耗时两个小时。

大家讲道理大家讲道理2760 天前764

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-22 09:02:35

    docker build過程中每執行一步RUN命令,就產生一個鏡像,另外鏡像之間有血緣關係,是否需要重新編譯兩個小時取決於你的修改影響的第一個鏡像有多早。
    簡單理解當你修改dockerfile時,當你修改了第N行的RUN命令, N+1之后的命令都要重跑;

    docker image --tree #查看镜像的依赖关系
    
    另外你直接docker images也能看到很多None名字的镜像文件,
    那就是你之前build的结果; 如果build成功的话,就会把None改成你指定的name;

    回覆
    0
  • 取消回覆