Docker Compose — config, top, events

1 minute read

Inspection and monitoring commands that help you understand what Compose is doing.

docker compose config

Validate and display the resolved compose file:

docker compose config              # Full resolved output
docker compose config --services   # List service names
docker compose config --volumes    # List volume names
docker compose config --images     # List image names
docker compose config -q           # Validate only (quiet)

Why Use config?

  1. Validate YAML — Catches syntax errors
  2. Resolve variables — Shows expanded values
  3. Verify merges — Shows result of overrides and includes
  4. Debug — See what Compose actually sees
docker compose config | head -30
name: myapp
services:
  api:
    image: node:20-alpine
    environment:
      NODE_ENV: production
      PORT: "3000"
    ports:
      - "3000:3000"

docker compose top

Show running processes in all containers:

docker compose top
docker compose top api     # Specific service
myapp-api-1
UID    PID     PPID    C   STIME   TTY   TIME       CMD
node   12345   12300   0   10:00   ?     00:01:23   node server.js

myapp-db-1
UID       PID     PPID    C   STIME   TTY   TIME       CMD
postgres  12400   12350   0   10:00   ?     00:02:45   postgres
postgres  12401   12400   0   10:00   ?     00:00:30   postgres: checkpointer

docker compose events

Stream real-time events:

docker compose events             # All events
docker compose events api         # Events for api service
docker compose events --json      # JSON format
2024-01-15 10:00:01 container create myapp-api-1
2024-01-15 10:00:01 container start myapp-api-1
2024-01-15 10:00:05 container health_status: healthy myapp-db-1

Events are useful for:

  • Debugging startup issues
  • Monitoring container lifecycle
  • Triggering external actions

docker compose port

Show the public port mapped to a container port:

docker compose port api 3000
0.0.0.0:3000

docker compose version

docker compose version
Docker Compose version v2.24.0

Summary

Command Purpose
config Validate and display resolved file
config --services List service names
top Show container processes
events Stream lifecycle events
port svc N Show mapped port
version Show Compose version

Quick Reference

Item Detail
config Validate and resolve compose file
config -q Validate only (quiet)
top Show running processes
events Stream container events
port svc N Show public port mapping
version Show Compose version