DockerComposeSkill docker-compose-basics

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,通过 YAML 配置文件简化容器编排和部署流程。关键词:Docker Compose, 多容器, YAML 配置, 容器编排, DevOps, 云计算, 微服务。

Docker/K8s 0 次安装 0 次浏览 更新于 3/25/2026

name: docker-compose-basics user-invocable: false description: 使用 Docker Compose YAML 配置来定义和运行多容器 Docker 应用程序。 allowed-tools: []

Docker Compose 基础

Docker Compose 用于定义和运行多容器应用程序。

基本结构

version: '3.8'

services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    environment:
      - NGINX_HOST=localhost
    depends_on:
      - api
      
  api:
    build: ./api
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgres://db:5432/myapp
    depends_on:
      - db
      
  db:
    image: postgres:15
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: myapp

volumes:
  pgdata:

常用命令

# 启动服务
docker compose up

# 后台启动
docker compose up -d

# 停止服务
docker compose down

# 查看日志
docker compose logs -f

# 重新构建
docker compose build

# 执行命令
docker compose exec web sh

# 扩展服务
docker compose up -d --scale api=3

最佳实践

环境变量

services:
  api:
    environment:
      - NODE_ENV=${NODE_ENV:-development}
      - API_KEY=${API_KEY}

健康检查

services:
  web:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost"]
      interval: 30s
      timeout: 10s
      retries: 3

资源限制

services:
  api:
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M