pull access denied存储库不存在或者可能需要docker登录

Jas*_*ass 22 docker ubuntu-16.04

我正在使用带有docker的Laravel 4.2.我在当地设置它.它没有任何问题,但当我尝试使用相同的程序在线设置,然后我收到错误

拉/拒绝访问/ php,存储库不存在或者可能需要'docker login'

是否与创建存储库相关的东西https://cloud.docker.com/ 或者需要在命令中登录?

经过几天的研究,我仍然无法弄清楚在这种情况下可以解决什么问题以及正确的步骤是什么?

我有完整的代码.如果需要检查某些部件,我可以粘贴在这里.

Dan*_*son 22

请注意,来自Docker的错误消息具有误导性。

$ docker build deploy/.
Sending build context to Docker daemon  5.632kB
Step 1/16 : FROM rhel7:latest
pull access denied for rhel7, repository does not exist or may require 'docker login'
Run Code Online (Sandbox Code Playgroud)

它说,它可能需要“泊坞窗登录”。我为此感到挣扎。我意识到该图像不再存在于https://hub.docker.com上。我希望这可以帮助别人。

  • 或者您使用电子邮件地址而不是 docker id 登录。/sf/ask/2495103061/#35644630 (4认同)
  • 感谢您指出了这一点。该错误消息确实非常具有误导性,因为在我的情况下该图像根本不存在。但我配置了一个当时不可用的远程存储库。因此,当 docker 在我的本地存储库中找不到该映像时,它尝试了远程映像,但失败了。如果 docker 在错误中显示存储库的名称,那就太好了,这样您就知道幕后发生了什么。 (2认同)
  • 谢谢..这是一个非常误导性的错误..就我而言,这是不正确的语法..我没有意识到当正确的用法是“docker service create”时我输入了“docker create service” (2认同)
  • 该错误具有误导性。图像很简单丢失。您可能需要加载映像,或者在我的情况下,我需要运行另一个 Dockerfile 来创建下一个 Dockerfile 所需的映像。 (2认同)

tso*_*ohg 18

只要确保正确写入 docker 名称即可!

就我而言,我写道(注意额外的“u”):

FROM ubunutu:16.04
Run Code Online (Sandbox Code Playgroud)

正确的码头工人名称是:

FROM ubuntu:16.04
Run Code Online (Sandbox Code Playgroud)

  • 我认为他们应该将“ubuntu”的拼写修改为更好的“ubunutu”;-) (12认同)

Vis*_*bey 11

当您输入错误的图像名称时,通常会出现该消息。请检查您的镜像是否存在于 Docker 存储库中并带有正确的标签。它帮助了我。

docker run -d -p 80:80 --name ngnix ngnix:latest
Unable to find image 'ngnix:latest' locally
docker: Error response from daemon: pull access denied for ngnix, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
$ docker run -d -p 80:80 --name nginx nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
Run Code Online (Sandbox Code Playgroud)


小智 8

我遇到过同样的问题

pull access denied for microsoft/mmsql-server-linux, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Run Code Online (Sandbox Code Playgroud)

原来DockerHub已移至其他名称所以我建议您重新签入 docker hub


mat*_*mba 8

就我而言,我使用的是自定义映像,并将 docker 烘焙到本地计算机上的 Minikube 中。

我错误地指定了拉取策略:-

imagePullPolicy: Always
Run Code Online (Sandbox Code Playgroud)

但它应该是:-

imagePullPolicy: IfNotPresent
Run Code Online (Sandbox Code Playgroud)

因为自定义镜像仅在我在 minikube docker 环境中显式构建之后才出现在本地。


Gyr*_*ose 7

我有同样的错误消息,但原因完全不同。

作为docker新手,我发布了

docker run -it <crypticalId>

其中 <crypticalId> 是我新创建的容器的 ID。

但是,运行命令需要图像的 id ,而不是容器。

要启动一个容器,docker需要

docker start -i <crypticalId>


Ste*_*tei 6

我在使用 docker-composer 时遇到了同样的问题。就我而言,它是一个 Amazon AWS ECR 私有注册表。这似乎是 docker-compose 中的一个错误

https://github.com/docker/compose/issues/1622#issuecomment-162988389

将完整路径“myrepo/myimage”添加到 docker compose yaml 后

图片:xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/myrepo:myimage

一切都很好。


小智 6

我通过在 docker 镜像的前面插入一种语言解决了这个问题

来自蟒蛇:3.7-高山


Hel*_*ate 6

我有这个是因为我无意中从我的第一张图片中删除了 AS 标签:

前任:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...
Run Code Online (Sandbox Code Playgroud)

本来应该:

FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64 AS installer
...
.. etc ...
...
FROM mcr.microsoft.com/windows/servercore:1607-KB4546850-amd64
COPY --from=installer ["/dotnet", "/Program Files/dotnet"]
... etc ...
Run Code Online (Sandbox Code Playgroud)


mik*_*ana 6

2020 年 11 月及以后

如果此错误是新出现的,并且过去从 Docker Hub 中提取,请注意Docker Hub 现在在 2020 年 11 月引入了速率限制

您会经常看到以下消息:

警告:未提供身份验证,使用 CircleCI 凭据从 Docker Hub 拉取。

来自 Circle CI 和其他使用 Docker Hub 的类似工具。或者:

来自守护进程的错误响应:cimg/mongo 的拉取访问被拒绝,存储库不存在或可能需要“docker 登录”:拒绝:请求的资源访问被拒绝

您需要指定用于获取图像的凭据:

对于CircleCI 用户

      - image: circleci/mongo:4.4.2

        # Needed to pull down Mongo images from Docker hub
        # Get from https://hub.docker.com/
        # Set up at https://app.circleci.com/pipelines/github/org/sapp
        auth:
          username: $DOCKERHUB_USERNAME
          password: $DOCKERHUB_PASSWORD
Run Code Online (Sandbox Code Playgroud)


fre*_*yle 5

我遇到过同样的问题。就我而言,这是一个私人注册表。所以我不得不创建一个秘密如图所示这里

然后我们必须将映像拉密钥添加到deploy.yaml文件中,如下所示。

pods/private-reg-pod.yaml  
apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred
Run Code Online (Sandbox Code Playgroud)


Fac*_*bos 3

如果存储库是私有的,您必须分配下载它的权限。您有两个选择,使用 docker login 命令,或者将登录后生成的文件放入 ~/.docker/docker.config 中。

  • 您是否尝试过“docker登录--用户名用户--密码通行证”???您是否尝试使用拉取路径 ```docker pullregistry.hub.docker.com/organization/image:version ``` ??? (4认同)
  • 它在本地运行良好。为什么在线创建错误? (3认同)
  • 我正在运行 Ubuntu 16.0.4 (2认同)