30 lines
1.1 KiB
Bash
30 lines
1.1 KiB
Bash
|
|
#!/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"
|