用途
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 组合。也适合需要统一管理服务依赖、端口、卷和环境变量的项目。
限制
资料未提供关于版本兼容性、平台支持范围、收费模式或性能效果的说明,这些信息暂未提供。