我有一个尚未完成的想法。在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?
有一些技巧可以做到这一点吗?
答案 0 :(得分:3)
这是现成的Docker功能。如果您的Dockerfile说
FROM node:10
WORKDIR /app
COPY package.json .
RUN npm install
COPY ...
然后,如果package.json
尚未更改,则Docker将跳过RUN npm install
步骤,并使用执行该操作后得到的文件系统映像。