# Docker Compose Manager

> Manage multi-container Docker environments using docker compose. Start, stop, inspect, and health-check services defined in a compose file — ideal for local dev, CI service orchestration, and integration test setup.

- Skill: `loonghao/docker-compose-manager` (Agent Skill)
- Install (CLI): `npx skillmds@latest add loonghao/docker-compose-manager`
- Raw SKILL.md: https://api.skillmd.com/api/skills/loonghao/docker-compose-manager/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: loonghao (https://skillmd.com/u/loonghao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/loonghao/docker-compose-manager

---


# Docker Compose Manager

Orchestrate multi-container environments with [Docker Compose](https://docs.docker.com/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

```json
{
  "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

```bash
# 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)

```json
{
  "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
}
```


