FROM node:8.6.0-alpine
RUN apk --update add tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# add npm package
COPY package.json /usr/src/app/package.json
RUN npm i --registry=https://registry.npm.taobao.org
# copy code
COPY . /usr/src/app
EXPOSE 7001
CMD npm start
这个 Dockerfile 中的例子是将 package.json 拷贝到容器中然后执行 install 操作,和直接用 docker-compose 挂载文件到容器里执行 install 有什么优势么? 挂载的方式是会本地目录也有 node_modules,而前者只会在容器里有 node_modules