Skip to content

层缓存

❌ 不好的做法

COPY . . # 任何文件变化都会使缓存失效 RUN npm install # 即使 package.json 没变,也要重新安装

✅ 好的做法

COPY package*.json ./ # 只有 package.json 变化才失效 RUN npm install # 依赖没变就使用缓存 COPY . . # 源代码变化不影响上面的层

TODO:

条件构建

dockerfile
# 使用构建参数控制安装开发依赖
ARG NODE_ENV=production
COPY package*.json ./
RUN if [ "$NODE_ENV" = "development" ]; \
    then npm install; \
    else npm install --production; \
    fi

定义 ARG

ARG 用于定义构建参数,只在构建镜像时可用: ARG VERSION=latest ARG NODE_ENV=production

本站访客数 人次 本站总访问量