【问题标题】:Docker-compose up : Error while fetching server API version: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))Docker-compose up:获取服务器 API 版本时出错:('连接中止。',ConnectionRefusedError(61,'连接被拒绝'))
【发布时间】:2021-02-16 02:28:25
【问题描述】:

我正在尝试在我的终端中执行docker-compose up 命令。首先,我导航到找到 docker-compose.yaml 的文件目录。然后我写命令。服务器位于端口 80。我收到以下错误:

Traceback (most recent call last):
      File "site-packages/docker/api/client.py", line 205, in _retrieve_server_version
      File "site-packages/docker/api/daemon.py", line 181, in version
      File "site-packages/docker/utils/decorators.py", line 46, in inner
      File "site-packages/docker/api/client.py", line 228, in _get
      File "site-packages/requests/sessions.py", line 543, in get
      File "site-packages/requests/sessions.py", line 530, in request
      File "site-packages/requests/sessions.py", line 643, in send
      File "site-packages/requests/adapters.py", line 498, in send
    requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "docker-compose", line 3, in <module>
      File "compose/cli/main.py", line 67, in main
      File "compose/cli/main.py", line 123, in perform_command
      File "compose/cli/command.py", line 69, in project_from_options
      File "compose/cli/command.py", line 132, in get_project
      File "compose/cli/docker_client.py", line 43, in get_client
      File "compose/cli/docker_client.py", line 170, in docker_client
      File "site-packages/docker/api/client.py", line 188, in __init__
      File "site-packages/docker/api/client.py", line 213, in _retrieve_server_version
    docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))
    [12728] Failed to execute script docker-compose

第一个错误出现两次,然后是第二个。

【问题讨论】:

  • 您是否设置了$DOCKER_HOST 环境变量? Docker 桌面应用程序是否正在运行?
  • 我试过:fiona@Fionas-MacBook-Pro gruppe-13 % docker run -d -p 80:80 docker/getting-started b35edd4bbab8ec87a0ef2beb793c4bb3382d5b878949bddca096ca1374bd84e9 docker:来自守护进程的错误响应:驱动程序在外部连接上编程失败端点适度_agnesi(097923b153f0c23cb738591b39fff9c90479e4026add561cc847124d71b8b888):绑定0.0.0.0:80失败:端口已分配。你有什么想法吗?
  • 这里没有当前答案帮助我解决问题。

标签: php docker api server docker-compose


【解决方案1】:

只需在您的计算机上打开 Docker 桌面

【讨论】:

  • 不是基于云的系统的解决方案
  • 不适用于 ubuntu Linux
【解决方案2】:

这个问题是因为docker用户没有权限,

在授予正确的权限并重新连接到服务器后应该可以解决问题,

如果不存在可以创建docker用户

sudo groupadd docker

将 docker 用户添加到用户组

usermod -aG docker $USER

然后重新连接到服务器,它应该可以工作了。

有关更多信息,此链接很有用: https://docs.docker.com/engine/install/linux-postinstall/

【讨论】:

    【解决方案3】:

    解决方案: 这意味着你还没有启动你的 docker 服务!

    首先,尝试使用启动它

    1.sudo systemctl start docker

    2.sudo service docker start

    3.sudo /etc/init.d/docker restart

    更多信息请参阅此文档:here

    【讨论】:

      【解决方案4】:
      sudo chmod 666 /var/run/docker.sock
      

      这对我有用

      【讨论】:

      • 这是非常不安全的。仅供参考,让用户访问 docker.sock 就像给他们 sudo
      • “极其不安全”之类的,但可以。
      • 显然,这并不意味着在生产服务器或类似的东西中,仅用于测试/本地目的。
      【解决方案5】:

      增加Zstack's answer的清晰度。

      我在 Ubuntu 20.04

      上尝试设置 Ansible AWX 时遇到了这个问题

      致命:[本地主机]:失败! => {"changed": false, "msg": "连接错误:获取服务器 API 版本时出错:('Connection aborted.', PermissionError(13, 'Permission denied'))"} ...忽略

      这是我修复它的方法

      问题是因为我没有将当前用户添加到 docker 组。

      如果 docker 组不存在,则创建它。

      sudo groupadd docker
      

      将您的用户添加到 docker 组。

      sudo usermod -aG docker $USER
      

      退出并重新登录,以便重新评估您的群组成员资格。

      验证您是否可以在没有sudo 的情况下运行 docker 命令。

      docker ps
      

      就是这样。

      【讨论】:

      • 对我不起作用。
      【解决方案6】:

      将您的用户添加到 docker 组,然后重试。

      sudo gpasswd -a $USER docker
      newgrp docker
      

      如果问题仍然存在,您可以在注销并重新登录后尝试,或者重新启动。或者干脆做:

      sudo su $USER
      

      注意:如果 docker 未在您的机器上运行,也可能会发生这种情况。对于带有 sytemd 服务管理器的 linux,您可以使用命令进行验证:

      systemctl status docker.service
      

      【讨论】:

      • 什么对我有用:重置 docker,导航到我的项目文件夹并再次执行 docker-compose up。
      【解决方案7】:

      确保您的 docker 确实在您的机器上运行。你可以使用这个帖子:How to check if the docker engine and a docker container are running?

      【讨论】:

      • 哎呀,这实际上是我收到此错误的原因。谢谢:)
      【解决方案8】:

      在 macOS Big Sur 11.1 上更新系统和 Docker 后,我遇到了同样的错误。我也无法运行 Docker Desktop,所以我检查了选项 open at login 并简单地重新启动了系统。

      【讨论】:

      【解决方案9】:

      我遇到了同样的问题和错误信息。就我而言,我必须启动并启用 docker 服务。

      systemctl start docker
      systemctl enable docker
      

      【讨论】:

      • systemctl is-enabled docker 应该显示 docker 是否被禁用
      猜你喜欢
      • 2017-04-10
      • 2020-09-08
      • 2017-12-29
      • 1970-01-01
      • 2019-01-02
      • 2021-01-05
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      相关资源
      最近更新 更多