Docker Events & System Monitoring
Monitor Docker in real time with docker events, docker stats, and docker system info. Track container lifecycle events, resource usage, and daemon configuration.
System
Detailed Explanation
Real-Time Event Streaming
docker events streams events from the Docker daemon in real time:
# Watch all events
docker events
# Filter by event type
docker events --filter type=container
# Filter by specific events
docker events --filter event=start --filter event=stop --filter event=die
# Filter by container
docker events --filter container=my-app
# Show events since a timestamp
docker events --since "2024-01-15T10:00:00"
Event Types
Docker emits events for: container, image, volume, network, daemon, plugin, node, secret, service, config.
Resource Monitoring with docker stats
# Live stats for all containers
docker stats
# Stats for specific containers
docker stats web api db
# Single snapshot (for scripting)
docker stats --no-stream
# Custom format
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}"
System Information
# Full system info
docker system info
# Specific fields
docker info --format '{{.ServerVersion}}'
docker info --format '{{.MemTotal}}'
docker info --format '{{.NCPU}}'
docker info --format '{{.OperatingSystem}}'
Health Monitoring Pattern
# Watch for containers dying
docker events --filter event=die --format '{{.Actor.Attributes.name}} died at {{.Time}}'
# Check if a container is healthy
docker inspect --format '{{.State.Health.Status}}' my-app
Use Case
Monitoring container health in production environments, building alerting systems based on Docker events, auditing container lifecycle for compliance, and debugging intermittent container crashes.