bitbucket 中的 docker compose - 无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。 docker 守护进程是否正在运行?

问题描述 投票:0回答:2

我想从 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 似乎有问题,它找不到守护程序正在运行。

我尝试在

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

我有什么遗漏的吗?

更新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 version
docker 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 docker-compose bitbucket-pipelines azure-container-instances
2个回答
0
投票

docker守护进程是否正在运行?是s.o权限、docker-in-docker等引起的常见错误。而且这个错误与docker-compose无关。

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

options:
  docker: true

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

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

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

0
投票

对于所有在搜索时只找到此链接的可怜的灵魂

failed to get status: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing unable to upgrade to h2c, received 403"

解决方案是添加步骤

export DOCKER_BUILDKIT=0

开始之前

docker compose up

这是 bitbucket 网站上的参考资料

© www.soinside.com 2019 - 2024. All rights reserved.