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