为什么 docker compose 失败并出现“ ERROR [internal] load metadata for docker.io/library/python:3.11.6-alpine3.18 ”?

为什么 docker compose 失败并出现“ ERROR [internal] load metadata for docker.io/library/python:3.11.6-alpine3.18 ”?

我是 docker 新手,正在尝试按照在线课程创建一个网站,但一开始就遇到了这个错误

FROM python:3.9-alpine3.13
LABEL maintainer="rohitgajula"

ENV PYTHONUNBUFFERED 1

COPY ./requirements.txt /tmp/requirements.txt
COPY ./app /app
WORKDIR /app
EXPOSE 8000

RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install -r /tmp/requirements.txt && \
    rm -rf /tmp && \
    adduser \
        --disabled-password \
        --no-create-home \
        django-user

ENV PATH="/py/bin:$PATH"

USER django-user

错误是

[+] Building 1.3s (4/4) FINISHED                                                                                  docker:desktop-linux
 => [internal] load .dockerignore                                                                                                 0.0s
 => => transferring context: 191B                                                                                                 0.0s
 => [internal] load build definition from Dockerfile                                                                              0.0s
 => => transferring dockerfile: 492B                                                                                              0.0s
 => ERROR [internal] load metadata for docker.io/library/python:3.9-alpine3.13                                                    1.3s
 => [auth] library/python:pull token for registry-1.docker.io                                                                     0.0s
------
 > [internal] load metadata for docker.io/library/python:3.9-alpine3.13:
------
Dockerfile:1
--------------------
   1 | >>> FROM python:3.9-alpine3.13
   2 |     LABEL maintainer="rohitgajula"

我找不到任何解决方案。

答案1

确保 Docker 守护程序正在运行。您可以使用以下命令检查 Docker 守护程序的状态:

sudo systemctl status docker

如果它没有运行,你可以使用以下命令启动它:

sudo systemctl start docker

如果存在问题,请尝试“sudo”,也许您的用户不是 root 用户或没有权限运行该命令。

ps:注释掉你用来运行docker的命令。

相关内容