#!/usr/bin/env bash # ----------------------------------------------------------------------------- # checks/docker.sh — the Docker daemon is reachable. # `docker info` must succeed (CONTRACT_003: the whole egg is Docker containers; # the Pulumi @pulumi/docker provider needs a reachable daemon — locally for the # CLI sanity check here, over SSH at deploy time). # Exits non-zero if the docker CLI is missing or the daemon is unreachable. # ----------------------------------------------------------------------------- set -euo pipefail PF_DIR=$(cd "$(dirname "$0")/.." && pwd) # shellcheck source=../lib/common.sh . "$PF_DIR/lib/common.sh" echo "[docker] docker daemon reachable" if ! pf_have docker; then pf_fail "docker CLI not installed (see tools check)" pf_summary "docker" exit $? fi if docker info >/dev/null 2>&1; then ctx=$(docker context show 2>/dev/null || echo "default") pf_pass "docker daemon reachable (context: $ctx)" else pf_fail "docker daemon NOT reachable ('docker info' failed) — is Docker Desktop / the engine running?" fi pf_summary "docker"