【发布时间】:2021-05-01 06:46:56
【问题描述】:
我有一个 docker 文件,如下所示:
.
.
WORKING /app
COPY ..
RUN npm install
.
.
它运行良好,但每次构建都需要大量时间(超过 7 分钟)。经过一番研究,我明白我必须优化 Dockerfile 以便它使用 Cache。所以,我是这样写的:
.
.
WORKING /app
COPY package*.json .
RUN npm install
COPY ..
.
.
现在,它的构建速度要快得多(不到 1 分钟)。我的问题是“为什么”?
如果 Linux 在复制文件以覆盖它或从缓存中读取它时可以理解文件是否被修改,那么我预计 COPY .. 和 COPY package*.json . 具有相同的行为。为什么只有COPY package*.json . 使用缓存?
【问题讨论】:
标签: linux docker dockerfile