Docker Compose Manager
Orchestrate multi-container environments with Docker Compose.
When to use
- Spinning up local development stacks (postgres + redis + app)
- Setting up integration test environments in CI
- Health-checking running services before running E2E tests
- Tearing down and recreating ephemeral environments
Inputs
{
"compose_file": "docker-compose.yml",
"action": "up",
"services": ["postgres", "redis"],
"wait_healthy": true,
"timeout_seconds": 60
}
| Field | Required | Description |
|---|---|---|
compose_file |
✗ | Path to compose file (default: docker-compose.yml) |
action |
✓ | up / down / ps / logs / restart / health |
services |
✗ | Subset of services to target (default: all) |
wait_healthy |
✗ | Block until health checks pass (default: true) |
timeout_seconds |
✗ | Max wait for health checks (default: 60) |
Example commands
# Start all services, rebuild images, and wait for health
docker compose up -d --build --wait
# Check running service status
docker compose ps --format json
# Stream logs from the app service
docker compose logs -f app
# Tear everything down and remove volumes
docker compose down --volumes --remove-orphans
Output (action=health)
{
"services": [
{ "name": "postgres", "state": "running", "health": "healthy", "ports": ["5432:5432"] },
{ "name": "redis", "state": "running", "health": "healthy", "ports": ["6379:6379"] }
],
"all_healthy": true,
"elapsed_ms": 1240
}