checkId: check.docker.network plugin: stellaops.doctor.docker severity: warn tags: [docker, network, connectivity]

Docker Network

Doctor check check.docker.network — for operators and DevOps engineers confirming that the Docker networks Stella Ops services rely on for service-to-service and database communication exist and use a working bridge driver.

What It Checks

Validates Docker network configuration and connectivity. The check connects to the Docker daemon and lists all networks, then verifies:

  1. Required networks exist: Checks that each network listed in Docker:RequiredNetworks configuration is present. Defaults to ["bridge"] if not configured.
  2. Bridge driver available: Verifies at least one network using the bridge driver exists.

Evidence collected includes: total network count, available network drivers, found/missing required networks, and bridge network name.

If the Docker daemon is unreachable, the check is skipped.

Why It Matters

Docker networks provide isolated communication channels between containers. Stella Ops services communicate over dedicated networks for:

Missing networks cause container DNS resolution failures and connection refused errors between services.

Common Causes

How to Fix

Docker Compose

Docker Compose normally creates networks automatically. If missing:

# List existing networks
docker network ls

# Start compose to create networks
docker compose -f devops/compose/docker-compose.stella-ops.yml up -d

# Create a network manually if needed
docker network create stellaops-network

# Inspect a network
docker network inspect <network-name>

Configure required networks for the check:

environment:
  Docker__RequiredNetworks__0: "stellaops-network"
  Docker__RequiredNetworks__1: "bridge"

Bare Metal / systemd

For bare metal deployments, Docker networks must be created manually:

# Create required networks
docker network create --driver bridge stellaops-frontend
docker network create --driver bridge stellaops-backend
docker network create --driver bridge stellaops-data

# List networks
docker network ls

# Inspect network details
docker network inspect stellaops-backend

Kubernetes / Helm

Docker networks are not used in Kubernetes; instead, Kubernetes networking (Services, NetworkPolicies) handles inter-pod communication. Configure the check to skip Docker network requirements:

doctor:
  docker:
    requiredNetworks: []  # Not applicable in Kubernetes

Or verify Kubernetes networking:

# Check services
kubectl get svc -n stellaops

# Check network policies
kubectl get networkpolicy -n stellaops

# Test connectivity between pods
kubectl exec -it <pod-a> -- curl http://<service-b>:5000/health

Verification

stella doctor run --check check.docker.network

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