SuperAPI AI 工具集

docker-compose

部署与运维

查看项目

更新于 10-16 00:03

技能介绍

用途:覆盖 Docker Compose 全生命周期——建模应用、校验解析后的配置、启动或更新服务、检查运行时状态、诊断故障。遵循当前 Compose Specification,新文件不要加已废弃的顶层 version 键。

主要能力:以 services、命名卷、显式网络、secrets、profiles 建模应用;运行前用 docker compose -f compose.yaml config --quiet 等命令解析配置;用最窄命令操作(up -d SERVICE、restart SERVICE、run --rm SERVICE COMMAND、exec SERVICE COMMAND);用 ps、健康状态、日志、容器内检查与外部端点验证;按“解析模型→容器状态→日志→健康检查→网络成员/DNS→挂载与权限→镜像/构建架构→主机资源”顺序诊断。

关键规则:depends_on 只控制创建顺序而非就绪,应配合真实健康检查与 condition: service_healthy,迁移或任务用 service_completed_successfully,不要用 sleep 判断就绪;容器间用服务名加容器端口(如 db:5432)互访;简单项目用默认网络,分层隔离用独立网络,internal: true 表示无外部网关;开发用绑定挂载、状态用命名卷、不可变输入用只读挂载;凭据放 Compose secrets 或外部密钥管理器,挂载于 /run/secrets/<name>;可选工具用 profiles,核心服务不设 profile;插值优先级为 shell 变量 > --env-file > 项目 .env,必填值用 ${REQUIRED:?explain},字面美元符号用 $$;多文件合并时后文件叠加到基础文件,相对路径以首个基础文件解析,可用 !reset 或 !override 调整合并行为。

常用命令:docker compose version、config --quiet、up -d --build、ps、logs -f --tail=100 SERVICE、exec、run --rm、restart、stop、down(保留命名卷)、down --remove-orphans、pull && up -d、--profile debug up -d、up --watch、port、docker network inspect、docker volume inspect。

限制:config --quiet 只证明模型可解析,不证明镜像拉取、启动或应用正确;运行中的容器不等于就绪服务,健康检查通过不等于端到端验证;down 会移除项目容器与网络但通常保留命名卷,down -v 具破坏性;deploy 字段是否生效取决于目标实现,需在运行时验证;Kubernetes、Swarm 等编排平台应使用对应技能,Compose 不能替代其运维 API。