#!/usr/bin/env bash set -eu : "${TOOLDIR=}" : "${RUNDIR=}" : "${DOCKER_HOST=}" export PATH="$TOOLDIR::$PATH" if [ -z "$DOCKER_HOST" ]; then echo >&2 'error: DOCKER_HOST required' false fi if ! command -v dockerd &> /dev/null; then echo >&2 'error: dockerd missing from PATH' false fi ( echo "Starting dockerd" set -x exec dockerd \ --host="$DOCKER_HOST" \ --exec-root="$RUNDIR/execroot" \ --data-root="$RUNDIR/data" \ --pidfile="$RUNDIR/docker.pid" \ --userland-proxy=false \ 2>&1 | tee "$RUNDIR/dockerd.log" ) & tries=60 echo "Waiting for daemon to start..." while ! docker version &> /dev/null; do ((tries--)) if [ $tries -le 0 ]; then printf "\n" if [ -z "$DOCKER_HOST" ]; then echo >&2 "error: daemon failed to start" echo >&2 " check $RUNDIR/docker.log for details" else echo >&2 "error: daemon at $DOCKER_HOST fails to 'docker version':" docker version >&2 || true fi false fi printf "." sleep 2 done printf "\n"