| name | sandbox-docker |
| description | Recover Docker inside Mighty sandboxes when tasks use `docker`, `docker compose`, Testcontainers, or the local dev stack. Starts DinD on demand, re-checks readiness, and surfaces dockerd diagnostics instead of assuming Docker stayed up after resume. |
Sandbox Docker
Use this skill when
- The task runs
docker, docker compose, Testcontainers, or sandbox local-stack commands.
docker info fails in a resumed or long-lived sandbox.
- You need DinD recovery or
dockerd diagnostics before debugging app-level failures.
Workflow
- Run the recovery check first:
bash scripts/ensure-docker.sh
- If recovery fails, gather diagnostics immediately:
bash scripts/docker-doctor.sh
- Only after
ensure-docker.sh succeeds should you run docker compose, Testcontainers, image builds, or local-stack commands.
- If Docker dies again after sandbox pause/resume, repeat the same workflow. Do not assume startup preflight from the beginning of the session is still valid.
Notes
ensure-docker.sh treats mighty-dind-preflight or sandbox-dind-preflight.sh as the source of truth for daemon startup.
docker-doctor.sh surfaces the active dockerd processes, socket and pidfile state, relevant MIGHTY_DIND_* env vars, and the recent dockerd log from ${MIGHTY_DIND_DOCKERD_LOG:-/tmp/mighty-dockerd.log}.
- Keep higher-level commands non-interactive. If a stack script needs Docker, run this recovery workflow before the stack command instead of inventing a one-off retry loop.