Docker 容器化部署指南:从 Dockerfile 到 GitHub Actions
Docker 容器化部署指南
"在我的机器上能跑" —— 这是一个经典的开发笑话。Docker 让这句话成为了历史。
编写高效的 Dockerfile
对于 Node.js 应用,我们推荐使用多阶段构建 (Multi-stage Build) 来减小镜像体积。
# 1. 依赖安装层
FROM node:18-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
# 2. 构建层
FROM node:18-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
# 3. 运行层 (极简)
FROM node:18-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
ENTRYPOINT ["node", "server.js"]
自动化流水线 (CI/CD)
编写 .github/workflows/deploy.yml,每次 Push 代码时自动构建镜像并推送到阿里云/AWS CR。
让代码上线像喝水一样简单!☕

