SuperAPI AI 工具集

docker-composer

部署与运维

查看项目

更新于 10-15 12:03

技能介绍

用途

Docker Composer 技能用于帮助创建高效的 Docker 配置,适用于开发与生产环境。它覆盖 Dockerfile、Docker Compose、多阶段构建、网络、卷以及容器编排最佳实践。当需要容器化应用、使用 Docker 搭建开发环境、创建多服务架构、优化 Docker 构建、调试容器问题、搭建基于 Docker 的 CI/CD 流水线,或从 docker-compose 迁移到 Kubernetes 时,可以调用该技能。

主要能力

该技能提供以下方面的指导与示例:

  • Dockerfile 模式:包括 Node.js 生产级多阶段 Dockerfile、Python 生产级多阶段 Dockerfile、开发用 Dockerfile。
  • Docker Compose 配置:全栈开发配置、生产配置、开发覆盖模式(override)。
  • 高级模式:多服务 monorepo、本地服务栈(如 MinIO、MailHog、Stripe CLI、Elasticsearch、Kibana)、测试配置。
  • .dockerignore 示例。
  • Docker 命令参考:开发工作流、生产工作流、调试命令。
  • 健康检查:应用健康检查(Next.js 路由示例)与 Docker 健康检查指令。
  • 检查清单:Dockerfile、Docker Compose、安全方面的检查项。

使用方式

资料中给出了大量可直接参考的配置示例与命令。例如:

  • 开发环境启动:docker-compose up -d
  • 查看日志:docker-compose logs -f app
  • 包变更后重建:docker-compose up -d --build
  • 执行一次性命令:docker-compose exec app npm run migrate
  • 停止并移除卷:docker-compose down -v
  • 构建生产镜像:docker build -t myapp:1.0.0 .
  • 使用生产配置运行:docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
  • 扩展服务:docker-compose up -d --scale app=3
  • 滚动更新:docker-compose pull app 与 docker-compose up -d --no-deps app
  • 进入容器:docker-compose exec app sh
  • 查看资源使用:docker stats
  • 清理未使用资源:docker system prune -a

配置示例涵盖服务定义、端口映射、卷挂载、环境变量、依赖关系、健康检查、网络、资源限制、重启策略、密钥管理等。

适用场景

  • 容器化新应用。
  • 使用 Docker 搭建开发环境。
  • 创建多服务架构。
  • 优化 Docker 构建。
  • 调试容器问题。
  • 搭建基于 Docker 的 CI/CD 流水线。
  • 从 docker-compose 迁移到 Kubernetes。

限制

资料中未提供该技能的安装方式、收费信息、价格、平台支持范围或具体效果数据,这些事实暂未提供。资料内容为配置示例与最佳实践指南,实际使用需结合具体项目环境调整。