返回首页
云原生

Docker Compose 生产环境最佳实践

凛渊
·

Docker Compose 生产环境最佳实践

Docker Compose 是开发和测试环境的利器,但在生产环境中使用需要特别注意。

基础配置

网络配置

networks:
  frontend:
    driver: bridge
  backend:
    driver: bridge
    internal: true  # 隔离后端网络

资源限制

services:
  app:
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M

健康检查

services:
  web:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

日志管理

services:
  app:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

环境变量

services:
  app:
    env_file:
      - .env.production
    environment:
      - NODE_ENV=production

数据持久化

services:
  db:
    volumes:
      - db_data:/var/lib/postgresql/data
      - ./backups:/backups

volumes:
  db_data:
    driver: local

重启策略

services:
  app:
    restart: unless-stopped

安全建议

  1. 不在 compose 文件中存储敏感信息
  2. 使用 secrets 管理密码
  3. 限制容器权限
  4. 定期更新镜像
  5. 监控容器状态

Docker Compose 在生产环境中的使用需要谨慎,但对于中小型应用来说,它仍然是一个不错的选择。

评论 (0)

登录 后即可发表评论