我正在使用 Dockerfile 構建 docker 映像,并且我經常需要在 Dockerfile 中進一步調整行。當我指示 docker 重建映像時,它從 Dockerfile 的最頂部開始(安裝依賴項等),并一直到實際更改的行。是否有任何技術或通用方法來檢測 Dockerfile 中的第一個修改行是什么,并且僅從該點開始重建?
此請求基于一個假設,即快照可以存盤在 Dockerfile 的每一行。我認為這是可能的,因為構建時的輸出日志表明在每個換行符處都創建了中間容器。
我已經嘗試在每個斷點影像 ID 處運行容器,并且確實可以查看從每個斷點運行的容器(例如,在安裝包之前和之后,在從 URL 中提取資料檔案之前和之后等)但我不知道如何指示 docker 從這些中間影像點之一重建?此外,在構建影像的最終形式之后,我不知道如何列出這些中間點。
uj5u.com熱心網友回復:
通常 docker 會自動執行此操作。如果您不更改 Dockerfile 開頭的任何內容,它應該只快取中間層。您可以通過以下幾行在輸出中看到這一點: ---> Using cache
有關構建快取的更多資訊可以在這里找到。
如果您在 CI/CD 系統或任何其他系統上構建,以前的構建快取不可用,您可以通過快取后端將快取外部化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/519765.html
