返回首页
DevOps

Docker 容器化你的 Node.js 应用

2026年7月3日5 分钟阅读
Docker 容器化你的 Node.js 应用

多阶段构建

多阶段构建可以显著减小最终镜像体积:

# 构建阶段
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# 运行阶段
FROM node:20-alpine AS runner
WORKDIR /app
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
EXPOSE 3000
CMD ["npm", "start"]

关键实践

  • 使用 .dockerignore 排除 node_modules;
  • 固定基础镜像版本,保证可复现;
  • 生产环境用 npm ci 而非 npm install。

评论 (0)

0/1000
  • 还没有评论,来做第一个评论的人吧。