Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CircleCi: Couldn't connect to Docker daemon at http+docker://localhost

In my Node.js project tests I'm starting docker-compose via child_process.spawn.

When running CircleCi, the build fails with this error:

Couldn't connect to Docker daemon at http+docker://localhost - is it running?

This is the .circleci/config.yml:

version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/node:8

    working_directory: ~/repo

    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run: npm install

      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "package.json" }}

      # run tests!
      - run: npm test
like image 412
Alexander Zeitler Avatar asked Jun 29 '18 11:06

Alexander Zeitler


People also ask

Can't connect to Docker daemon at http Docker localhost is it running?

Solution: There are two possible reasons for this error message. The common reason is that the user you are running the command as does not have the permissions to access docker. and then logging out and logging back in completely (or restarting the system/server).

Is the Docker daemon running CircleCI?

Is the docker daemon running? This typically indicates that you are running a docker command without using remote docker. In order to run any docker command on CircleCI 2.0 you need to add the setup_remote_docker step as described in the following documentation. You can also use the machine executor.


1 Answers

Just recently ran into this issue, I believe. I think the only thing missing from your setup is setup_remote_docker before running anything that uses docker-compose. For example:

working_directory: ~/repo

steps:
  # ...

  - setup_remote_docker

  # run tests!
  - run: npm test

Hope this helps!

like image 70
Josh Black Avatar answered Sep 18 '22 04:09

Josh Black