[英]How can I save docker container state during builds?
我正在構建一個 docker 鏡像,它執行了很多apt-get installs
,當一個失敗時,容器構建錯誤和修復 Dockerfile docker docker build -t tag .
仍將下載在第一個構建中成功安裝的依賴項。 我怎樣才能讓docker build
從它停止的地方繼續?
要考慮的一種選擇是使用單獨的 Dockerfile。 然后,您可以根據文檔簡單地使用--cache-from
標志將基本圖像用作緩存。
Docker 將運行整個RUN
命令,緩存就在那個級別。 通常只有一個RUN apt-get install
行是有益的,但分解它實際上並沒有錯
FROM ubuntu:18.04
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get install package1 package2 package3
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get install package4 package5 package6
然后,如果下載package5
失敗,重新運行package5
docker build
將在安裝了前三個包的緩存層之后開始。
(如果您安裝的軟件包太多以至於這通常是一個問題,還請考慮是否可以將容器的范圍縮小到需要較少初始下載的較小范圍。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.