ARC "Cannot connect to the Docker daemon" in CI
A workflow step ran docker but the runner could not reach the Docker daemon. In ARC dind mode the daemon runs in a sidecar; this error means the sidecar is not ready, or containerMode is not dind.
What this error means
A docker build or run step fails with "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?" while other steps succeed.
runner
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?Common causes
containerMode is not set to dind
Without dind mode there is no Docker daemon in the runner pod, so any docker command fails to connect.
The dind sidecar has not become ready
The step ran before the dind sidecar finished starting, so the socket is not yet available.
How to fix it
Enable dind containerMode
- Set containerMode.type to dind in the scale set values.
- Reinstall the scale set so the dind sidecar is added.
- Confirm the runner pod has both runner and dind containers.
values.yaml
containerMode:
type: "dind"Check the dind sidecar status
Inspect the runner pod to confirm the dind container is Running before docker steps execute.
Terminal
kubectl get pod -n arc-runners <runner-pod> \
-o jsonpath='{.status.containerStatuses[*].name}'How to prevent it
- Use dind containerMode when workflows call docker.
- Keep the dind sidecar image compatible with the runner image.
- Prefer buildx or kaniko where a full daemon is not needed.
Related guides
ARC "permission denied ... docker.sock" in CIFix ARC "permission denied while trying to connect to the Docker daemon socket" in CI - the runner user canno…
ARC runner "Init:Error" (dind init) in CIFix an ARC runner pod in Init:Error in CI - the init container that sets up Docker-in-Docker or externals fai…
ARC runner image "ImagePullBackOff" in CIFix an ARC runner pod in ImagePullBackOff in CI - Kubernetes cannot pull the runner or DinD image because of…