Skip to content
Latchkey

CircleCI "Cannot connect to the Docker daemon" in CI

A docker build or docker run step ran inside the Docker executor, which has no Docker daemon of its own. Without setup_remote_docker, there is no socket to connect to.

What this error means

A docker command fails with "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?".

CircleCI
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?

Common causes

No remote Docker in a Docker executor

The Docker executor runs your job inside a container with no daemon; docker commands need a separate remote Docker environment.

setup_remote_docker placed after the docker step

The remote Docker must be set up before any docker command, or the socket is not yet available.

How to fix it

Add setup_remote_docker before docker steps

  1. Insert setup_remote_docker early in the job.
  2. Run all docker commands after it.
  3. Pin a Docker version if you need a specific one.
.circleci/config.yml
jobs:
  build:
    docker: [{image: cimg/base:2024.01}]
    steps:
      - checkout
      - setup_remote_docker
      - run: docker build -t app .

Use the machine executor instead

A machine executor provides a full Docker daemon natively, so no remote Docker is needed.

.circleci/config.yml
jobs:
  build:
    machine:
      image: ubuntu-2204:current
    steps:
      - run: docker build -t app .

How to prevent it

  • Add setup_remote_docker whenever the Docker executor runs docker commands.
  • Place it before the first docker step.
  • Consider the machine executor for docker-heavy jobs.

Frequently asked questions

What causes ""Cannot connect to the Docker daemon""?
The Docker executor runs your job inside a container with no daemon; docker commands need a separate remote Docker environment.
How do I fix "Cannot connect to the Docker daemon"?
Add setup_remote_docker before docker steps

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card