通过在Docker容器中缓存软件包来加快构建速度

时间:2018-07-05 01:52:16

标签: node.js docker npm dockerfile npm-install

我有一个尚未完成的想法。在Dockerfile中,我有:

FROM node:10

WORKDIR /app

RUN "*cache node modules here*"
RUN e.g. npm cache add foo bar baz

COPY package.json .
RUN npm i --cache-min 9999999 --loglevel=warn

COPY . .

CMD node dist

如何在npm安装步骤之前通过缓存一些Node.js模块/软件包来创建超高性能的Dockerfile?

有一些技巧可以做到这一点吗?

1 个答案:

答案 0 :(得分:3)

这是现成的Docker功能。如果您的Dockerfile说

FROM node:10
WORKDIR /app
COPY package.json .
RUN npm install

COPY ...

然后,如果package.json尚未更改,则Docker将跳过RUN npm install步骤,并使用执行该操作后得到的文件系统映像。