Demo:检查 Node Dockerfile 的生产风险
Dockerfile 本地能跑,不代表生产稳定。可视化后可以快速看到运行时镜像是否固定、是否足够小、是否以非 root 用户运行。
- 优先使用 node:20-bookworm-slim,而不是 node:latest。
- 用多阶段构建避免 devDependencies 进入运行时镜像。
- 应用不需要 root 权限时,应添加 USER。
FROM node:20-bookworm-slim AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
FROM node:20-bookworm-slim
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
USER node
CMD ["npm", "start"]预览图应能展示依赖阶段、运行时阶段、复制产物和非 root 运行决策。