比如我安裝一個東西耗時兩個小時,但是構建成功之後再構建一次他就很快了,說明它緩存了,現在我的疑惑是如果我稍微改變了一點東西,如何保證他不需要在再耗時兩個小時。
光阴似箭催人老,日月如移越少年。
docker build過程中每執行一步RUN命令,就產生一個鏡像,另外鏡像之間有血緣關係,是否需要重新編譯兩個小時取決於你的修改影響的第一個鏡像有多早。 簡單理解當你修改dockerfile時,當你修改了第N行的RUN命令, N+1之后的命令都要重跑;
第N行的RUN命令, N+1之后的命令都要重跑
docker image --tree #查看镜像的依赖关系 另外你直接docker images也能看到很多None名字的镜像文件, 那就是你之前build的结果; 如果build成功的话,就会把None改成你指定的name;
docker build過程中每執行一步RUN命令,就產生一個鏡像,另外鏡像之間有血緣關係,是否需要重新編譯兩個小時取決於你的修改影響的第一個鏡像有多早。
簡單理解當你修改dockerfile時,當你修改了
第N行的RUN命令, N+1之后的命令都要重跑
;