SuperAPI AI 工具集

docker-compose-basics

部署与运维

查看项目

更新于 10-16 03:26

技能介绍

用途

Docker Compose Basics 面向使用 Docker Compose 定义和运行多容器 Docker 应用的场景,核心是 Docker Compose YAML 配置。它帮助用户理解如何在一个配置文件中声明多个服务及其依赖关系,从而统一启动和管理整套应用。

主要能力

该技能提供以下内容:

  • 基础结构示例:展示 version、services、volumes 等顶层字段的写法。
  • 服务定义:演示通过 image 使用现成镜像(如 nginx:latest、postgres:15),以及通过 build 从本地目录构建服务(如 ./api)。
  • 端口映射:使用 ports 将容器端口映射到主机端口,例如 "80:80"、"3000:3000"。
  • 卷挂载:使用 volumes 挂载主机目录(如 ./html:/usr/share/nginx/html)或命名卷(如 pgdata:/var/lib/postgresql/data)。
  • 环境变量:通过 environment 设置服务环境变量,例如 NGINX_HOST、DATABASE_URL、POSTGRES_PASSWORD、POSTGRES_DB。
  • 依赖声明:使用 depends_on 指定服务启动顺序,例如 web 依赖 api,api 依赖 db。
  • 常用命令:列出启动、后台启动、停止、查看日志、重新构建、进入容器执行命令、扩展服务实例等操作。
  • 最佳实践:给出环境变量、健康检查和资源限制的配置示例。

使用方式

用户通过编写 Docker Compose YAML 文件定义服务,然后使用命令行操作。资料中列出的常用命令包括:

# Start services
docker compose up

# Start in background
docker compose up -d

# Stop services
docker compose down

# View logs
docker compose logs -f

# Rebuild
docker compose build

# Execute command
docker compose exec web sh

# Scale service
docker compose up -d --scale api=3

在最佳实践部分,资料展示了环境变量引用方式(如 ${NODE_ENV:-development}、${API_KEY})、健康检查配置(test、interval、timeout、retries)以及资源限制配置(deploy.resources.limits 下的 cpus 和 memory)。

适用场景

适合需要同时运行 Web 服务、API 服务和数据库等多容器应用的开发与测试环境,例如资料中给出的 nginx + api + postgres 组合。也适合需要统一管理服务依赖、端口、卷和环境变量的项目。

限制

资料未提供关于版本兼容性、平台支持范围、收费模式或性能效果的说明,这些信息暂未提供。