checkId: check.docker.daemon plugin: stellaops.doctor.docker severity: fail tags: [docker, daemon, container]

Docker Daemon

Doctor check check.docker.daemon — for operators and DevOps engineers confirming that the Docker daemon backing a Stella Ops deployment is running and responsive before containers, scans, or releases can proceed.

What It Checks

Validates that the Docker daemon is running and responsive. The check connects to the Docker daemon (using Docker:Host configuration or the platform default) and performs two operations:

  1. Ping: Sends a ping request to verify the daemon is alive (with a configurable timeout, default 10 seconds via Docker:TimeoutSeconds).
  2. Version: Retrieves version information to confirm the daemon is fully operational.

Evidence collected on success: host address, Docker version, API version, OS, architecture, and kernel version.

On failure, the check distinguishes between:

Default Docker host:

Why It Matters

The Docker daemon is the core runtime for all Stella Ops containers. If the daemon is down:

Common Causes

How to Fix

Docker Compose

Check and restart the Docker daemon:

# Check daemon status
sudo systemctl status docker

# Start the daemon
sudo systemctl start docker

# Enable auto-start on boot
sudo systemctl enable docker

# Verify
docker info

If Docker is not installed:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Bare Metal / systemd

# Check status
sudo systemctl status docker

# View daemon logs
sudo journalctl -u docker --since "10 minutes ago"

# Restart the daemon
sudo systemctl restart docker

# Verify connectivity
docker version
docker info

If the daemon crashes repeatedly, check for resource exhaustion:

# Check disk space (Docker requires space for images/containers)
df -h /var/lib/docker

# Check memory
free -h

# Clean up Docker resources
docker system prune -a

Kubernetes / Helm

On Kubernetes nodes, the container runtime (containerd/CRI-O) replaces Docker daemon. Check the runtime:

# Check containerd status
sudo systemctl status containerd

# Check CRI-O status
sudo systemctl status crio

# Restart if needed
sudo systemctl restart containerd

For Docker Desktop (development):

# Restart Docker Desktop
# macOS: killall Docker && open -a Docker
# Windows: Restart-Service docker

Verification

stella doctor run --check check.docker.daemon

See the Doctor reference for the full check catalog, CLI usage, and export bundles.