IIUC,docker 本身不支持在存储库中缓存多阶段构建层。我曾期望缓存多阶段构建的结果,但事实并非如此?
例如,拿一个玩具构建文件:
FROM centos:7 as stage_0
RUN sleep 60
RUN echo "Hello world" > /root/x.txt
FROM centos:7 as output
COPY --from=stage_0 /root/x.txt /root/x.txt
似乎在使用时--cache-from
,stage_0
需要重新运行。有没有办法缓存stage_0
图像存储库中的结果,这样就不需要每次都构建它,假设输入没有改变?
我一直在为需要大量时间的操作使用多阶段构建——例如编译第三方工具——所以这些将是在构建之间缓存的最有用的项目。