【问题标题】:Docker-compose up command throwing Error while fetching server API versionDocker-compose up 命令在获取服务器 API 版本时抛出错误
【发布时间】:2022-07-21 10:08:16
【问题描述】:

错误: 运行命令后 Docker-compose up 抛出此类错误

Traceback (most recent call last):
  File "docker\api\client.py", line 214, in _retrieve_server_version
  File "docker\api\daemon.py", line 181, in version
  File "docker\utils\decorators.py", line 46, in inner
  File "docker\api\client.py", line 237, in _get
  File "requests\sessions.py", line 543, in get
  File "requests\sessions.py", line 530, in request
  File "requests\sessions.py", line 643, in send
  File "requests\adapters.py", line 439, in send
  File "urllib3\connectionpool.py", line 670, in urlopen
  File "urllib3\connectionpool.py", line 392, in _make_request
  File "http\client.py", line 1255, in request
  File "http\client.py", line 1301, in _send_request
  File "http\client.py", line 1250, in endheaders
  File "http\client.py", line 1010, in _send_output
  File "http\client.py", line 950, in send
  File "docker\transport\npipeconn.py", line 32, in connect
  File "docker\transport\npipesocket.py", line 23, in wrapped
  File "docker\transport\npipesocket.py", line 72, in connect
  File "docker\transport\npipesocket.py", line 52, in connect
pywintypes.error: (2, 'CreateFile', 'The system cannot find the file specified.')

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 81, in main
  File "compose\cli\main.py", line 200, in perform_command
  File "compose\cli\command.py", line 60, in project_from_options
  File "compose\cli\command.py", line 152, in get_project
  File "compose\cli\docker_client.py", line 41, in get_client
  File "compose\cli\docker_client.py", line 170, in docker_client
  File "docker\api\client.py", line 197, in __init__
  File "docker\api\client.py", line 221, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')
[10776] Failed to execute script docker-compose

这里是 Dockerfile:

FROM python:3.7.4
ENV PYTHONBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY . /app
CMD python manage.py runserver 0.0.0.0:8000

docker-compose.yml 文件:

version: '3.9'
services:
  backend:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8000:8000
    volumes:
      - .:/app

谁能帮忙解决这个错误。实际上,我正在尝试解决过去 3 个小时的这个错误,但我仍然没有找到任何解决方案,为此我使用的是 docker-compose 版本 1.29.2 如果您需要解决此错误,&下面是requirements.txt。

asgiref==3.3.4
Django==3.2.3
django-cors-headers==3.11.0
djangorestframework==3.13.1
importlib-metadata==4.10.0
numpy==1.20.3
pandas==1.2.4
pika==1.2.0
psycopg2==2.8.6
python-dateutil==2.8.1
pytz==2021.1
six==1.16.0
sqlparse==0.4.1
typing-extensions==3.10.0.0
zipp==3.7.0

【问题讨论】:

  • 您的docker-compose 已经很老了。当前版本是2.2.3
  • Docker 守护进程是否实际运行;你能成功运行docker info吗(它的输出没什么意思,只需要不返回错误)?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python django postgresql docker docker-compose


【解决方案1】:

Docker Compose 需要privilege access,请确保在运行docker-compose 命令之前提供它,否则您会得到前面提到的 Traceback。

您可能需要杀死当前的 Docker 进程并重新启动 Docker 桌面,然后它应该可以工作了。

P.S.我在 MacOS 上,在重新启动并提供对 Docker Desktop(版本 4.10.1)应用程序的 root 访问权限后遇到与上述相同的错误,我可以按如下方式编写 docker。

docker-compose up -d --build

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2019-11-16
    • 2021-02-16
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2019-05-20
    • 1970-01-01
    相关资源
    最近更新 更多