技术分享2025年12月29日·7,238

Docker 容器化最佳实践

从 Dockerfile 编写到多阶段构建,从镜像优化到容器编排,全面介绍 Docker 的最佳实践。

#Docker#容器化#DevOps

Docker 容器化最佳实践

Dockerfile 优化

多阶段构建

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

# 生产阶段
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
CMD ["node", "dist/index.js"]

镜像优化技巧

  1. 使用 Alpine 镜像:减小镜像体积
  2. 利用缓存:合理安排 COPY 指令顺序
  3. .dockerignore:排除不必要的文件

容器编排

使用 Docker Compose:

version: '3.8'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
  db:
    image: mongodb:latest
    volumes:
      - mongo-data:/data/db

volumes:
  mongo-data:
最后更新:2026/1/28