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

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

我需要一个简单的解决方案来构建 docker 映像,将其推送到 ECR,然后部署到 ECS。

将 ECR 映像部署到 ECS 的最后一部分正在运行。 (我正在使用 deploy.py 短脚本,它使用 Python 的 AWS boto3 SDK,发现它比使 ECS Orb 工作更容易..)

但是,我在第一部分遇到困难,需要帮助。我只需要自动化简单的 docker builddocker tagdocker push。很简单,就是不知道自己做错了什么

谁能帮帮我?它遵循代码,我在本地 运行 出于调试目的:

version: '2.1'
jobs:
  build:
    docker:
      - image: cimg/python:3.8 
    environment:
      AWS_ACCESS_KEY_ID: yadayadayada
      AWS_SECRET_ACCESS_KEY: yadayadayada
      AWS_DEFAULT_REGION: yadayadayada
    steps:
      - checkout
      - run: |
          docker build -t myimg .
          docker tag myimg:latest asdf.dkr.ecr.asdf.amazonaws.com/asddf:latest
          docker push asdf.dkr.ecr.asdf.amazonaws.com/asdf:latest
          
          pip install boto3
          python deploy.py

学CircleCI真的很郁闷,初学者没有好的资源...

提前致谢!

您需要使用 setup_remote_docker 特殊步骤来获取远程 Docker 引擎 运行 以便您的 Docker 命令能够工作。

Learnign CircleCI is really frustrating, no good resources for beginners...

真的吗?您可以在名为 Running Docker Commands.

的指南中找到我的答案(“setup_remote_docker”)以及如何在 CircleCI Docs 上正确使用它

希望对您有所帮助。此外,您会看到设置 Docker 版本是可选的,但我强烈建议您设置一个。默认版本很旧。