SuperAPI AI 工具集

docker-compose

部署与运维

查看项目

更新于 10-15 20:31

技能介绍

用途:用 Docker Compose v2(docker compose 插件,非旧版 docker-compose 二进制)编排本地与 CI 中的多容器服务。适合开发与 CI;生产同文件仅在项目本身已如此运行时使用,不涉及 Kubernetes/Nomad。

主要能力:定义 services,用 build 或 image(仓库代码用 build,现成软件用 image),配置 ports、restart、healthcheck、depends_on 条件依赖、networks、volumes、env_file、profiles。

硬性规则:不写 version 键;依赖数据库/中间件时用 condition: service_healthy;密码通过 env_file 或主机变量,不硬编码到提交的 YAML;数据用命名卷,开发代码用 bind mount;多服务通信时显式声明网络;镜像固定版本(如 postgres:16-alpine)。

布局:compose.yaml(或仓库已有的 compose.yml / docker-compose.yml,保留原文件名)、compose.override.yaml、.env.example。

用法:.env 会被 YAML 内插值,env_file 注入容器;environment 可覆盖 env_file。可选工具用 profiles,如 docker compose --profile dev up。常用命令:docker compose up --build、docker compose up -d、docker compose logs -f app、docker compose exec app sh、docker compose down(保留卷)、docker compose down -v(销毁数据,需确认,勿在有真实数据时使用)。

限制:勿使用 v1 或 version: "3.8";depends_on 无 healthcheck 会导致启动崩溃循环;避免无理由的 network_mode: host;勿在业务容器绑定 docker.sock;勿在 CI 无必要时发布端口。