【问题标题】:docker compose in bitbucket - Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?docker compose in bitbucket - 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。 docker 守护进程是否正在运行?
【发布时间】:2021-07-07 22:43:46
【问题描述】:

我想将容器组从 bitbucket 管道部署到 Azure 容器实例。我有以下bitbucket-pipelines.yml 文件:

image: ubuntu:20.04

clone:
  depth: 5

options:
  max-time: 15

pipelines:
  branches:
    master:
      - step:
          name: Deploy to aci
          deployment: test
          script:
            - apt-get update
            - apt-get install curl -y
            - curl -L https://raw.githubusercontent.com/docker/compose-cli/main/scripts/install/install_linux.sh | sh
            - curl -sSL https://github.com/docker/compose-cli/releases/download/v2.0.0-beta.3/docker-compose-linux-amd64 -o docker-compose
            - chmod +x docker-compose
            - mkdir -p ~/.docker/cli-plugins
            - mv docker-compose ~/.docker/cli-plugins/docker-compose
            - docker login azure --client-id $CLIENTID --tenant-id $TENANTID --client-secret $SECRET
            - docker login myregistry.azurecr.io -u $USERNAME -p $PASS 
            - docker context create aci myContext --subscription-id "00000000-0000-0000-0000-000000000000" --resource-group "myResouceGroup" --location "westeurope"
            - docker --context myContext compose up 
      services:
        - docker

docker --context myContext compose up 命令出现以下错误:

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

所有其他 docker 命令似乎都在工作,所以 docker-compose cli 似乎有问题,它没有找到正在运行的守护进程。

我尝试在docker compose up 之前添加export DOCKER_HOST="tcp://0.0.0.0:2375",但没有帮助。

我有什么遗漏吗?

更新 1:

如果我从以下位置更新最后一条命令:

- docker --context myContext compose up

收件人:

- docker context use myContext 
- docker compose up

我收到不同的错误: failed to dial gRPC: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing unable to upgrade to h2c, received 403"

更新 2

添加了docker versiondocker ps 以获取更多信息。输出:

docker version

Client: Docker Engine - Community
 Cloud integration: 1.0.17
 Version:           19.03.15
 API version:       1.40
 ...

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  ...

docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

【问题讨论】:

  • 在脚本步骤的开头添加 docker -vdocker ps。我认为你的问题在于 docker,而不是 docker-compose
  • 已添加。这些似乎返回了 docker 运行良好的信息。

标签: docker docker-compose bitbucket-pipelines azure-container-instances


【解决方案1】:

docker daemon 是否正在运行? 是s.o 权限、docker-in-docker 等引起的常见错误。此外,此错误与docker-compose 无关。

在您的情况下,您正在 docker 容器内执行 docker 命令,因此请尝试在管道的开头添加此命令:

options:
  docker: true

检查这些解决方案是否存在docker daemon 是否正在运行? 错误:

我还建议在使用 docker-compose 配置的 docker 上下文之前尝试使用 基本 docker 命令(简单构建或运行)。例如,当执行以下命令之一时,许多用户会通知相同的错误(Docker 守护程序是否正在运行?):

  • 码头信息
  • 码头运行 ...
  • 码头工人ps

【讨论】:

  • 我用另一个命令启用了 docker。请参阅我的bitbucket-pipelines.yml 文件的最后两行。 (那些应该产生相同的结果)。我还执行了docker versiondocker ps,并用这些命令的结果更新了我的问题。我还尝试构建 docker 映像,它工作正常,所以唯一不工作的是docker-compose
猜你喜欢
  • 2022-07-07
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多