Docker Compose Cheat Sheet

Define multi-service apps in a compose file and drive them with one CLI — the local dev + CI workhorse.

Containers4 sections · 24 commands
⌘K

Lifecycle

8
docker compose up

Create and start services (foreground)

docker compose up -d

Start in detached mode

docker compose up --build -d

Rebuild images then start

docker compose down

Stop and remove containers + network

docker compose down -v

Also remove named volumes

docker compose up -d SERVICE

Start a single service

docker compose restart

Restart all services

docker compose pull

Update images to the tag in compose

Logs & Status

5
docker compose ps

Show service status and ports

docker compose logs

Logs from all services

docker compose logs -f SERVICE

Follow one service's logs

docker compose logs --tail=100 SERVICE

Last 100 lines of a service

docker compose events

Stream container events

Working Inside

6
docker compose exec SERVICE /bin/sh

Open a shell in a running service

docker compose exec SERVICENAME env

Inspect the service environment

docker compose run --rm SERVICE CMD

Run a one-off command in a new container

docker compose build SERVICE

Build one service's image

docker compose config

Validate and render the merged config

docker compose config --services

List service names

Scaling & Scratch

5
docker compose up --scale api=3 -d

Run 3 replicas of a service

docker compose down --rmi all

Remove images too

docker compose --env-file .env.prod up -d

Use an alternate env file

docker compose -f compose.yml -f compose.override.yml up

Merge multiple files

docker compose top

Processes per service