Files
nodebestpractices/sections/docker/clean-cache.chinese.md
2021-07-19 22:42:52 +08:00

1.1 KiB
Raw Permalink Blame History

清除NODE_MODULE缓存



一段解释

node包管理器npm和Yarn会本地缓存安装过的包以便在未来的项目中如果需要同样的包就不需要从远程仓库重新获取。尽管这会导致包的重复消耗更多的存储 - 作为回报它维持了一个安装相同包的本地开发环境。而在Docker容器中这种存储是没什么价值的因为它仅仅安装依赖一次。通过移除这类缓存只需要使用一行代码上十MB的存储会从image中移除。当这样做的时候确保它不会通过非零non-zero码退出因而由于缓存问题导致CI构建失败 - 这可以通过添加一个force标志位来避免。

请注意如果您使用multi-stage构建只要您在最后阶段不安装新的包清除缓存是没意义的



代码示例 - 清除缓存

Dockerfile
FROM node:12-slim AS build
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm ci --production && npm cache clean --force

# 剩余部分