Docker Compose 生产级最佳实践

关键实践

  • 环境配置:使用 .envenv_file 管理敏感与环境变量。
  • 健康检查:healthcheck 提升服务可观测性与编排可靠性。
  • 日志轮换:logging: driver: json-file 配合 max-sizemax-file 防止日志爆仓。
  • 数据持久化:使用命名卷(volumes)与备份策略保障数据安全。
  • 安全加固:限制权限(cap_drop、只读文件系统)、最小化镜像攻击面。
  • 注意:deploy 字段仅在 Swarm 模式生效,常规 Compose 本地运行会忽略。

示例 compose.yml(节选)


services:
  web:
    image: nginx:1.25
    ports:
      - "8080:80"
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://localhost || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"
    volumes:
      - web-content:/usr/share/nginx/html:ro
    cap_drop:
      - ALL

volumes:
  web-content:

验证清单

  • 使用 docker compose psdocker compose logs --tail 100 检查健康与日志。
  • 通过 docker inspect 校验卷挂载、生效的健康检查与日志驱动配置。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部