说我在Dockerfile中有这样一行:
RUN git fetch origin my_branch
RUN pip install -r requirements.txt
有没有一种方法可以迫使docker对这些行使用缓存?像这样:
FORCE-CACHE-ON
RUN git fetch origin my_branch
RUN pip install -r requirements.txt
CACHE-OFF
答案 0 :(得分:1)
Docker的层缓存基本上说:“如果我从映像01234567开始,RUN some command
,那么我将得到映像2468ace0”。如果发生了什么变化,而您现在有了映像13579bdf,则除了再次运行命令外,无法将其短路。
有两种方法可以缓解这种情况:
RUN apt-get install
之前COPY .
。COPY
。COPY
放入映像,而不是RUN lengthy-install
。 (在进行多阶段构建之前,这是一项非常有用的技术,并且仍然有意义。)