我一直在尝试node_modules
在 Docker 构建上进行缓存。我尝试了几种方法,包括这里的一种,但没有成功。
我缓存的主要原因是因为构建我的图像需要30 多分钟,这太多了。
我的Dockerfile
:
# This image will be based on the oficial nodejs docker image
FROM node:4.2.1
RUN npm install -g jspm@0.17.0-beta.7 && \
npm install -g gulp && \
npm install -g tsd
# Use changes to package.json to force Docker not to use the cache
# when we change our application's nodejs dependencies:
ADD package.json /src/package.json
RUN cd /src && npm install
# Put all our code inside that directory that lives in the container
ADD . /src
# Set in what directory commands will run
WORKDIR /src
# Install dependencies
RUN cd /src && \
tsd reinstall -so && \
jspm install && \
gulp build -p
# Tell Docker we are going to use this port
EXPOSE 3000
# The command to run our app when the container is run
CMD ["npm", "run", "start-production"]
我没有.dockerignore
文件。我之前添加了一个,但它仍然没有缓存我的node_modules
.
那么,如何缓存我的 node_modules?随意提出修改建议Dockerfile
。
谢谢!