DOCKER镜像未知:镜像未知。

101

我正在尝试拉取我创建的图像,但出现了这个错误:

/usr/local/bin/docker-compose up -d
Pulling hub (dockyard.cloud.capitalone.com/entepriseatdd/selenium-hub:3.0.0)...
Trying to pull repository dockyard.cloud.capitalone.com/entepriseatdd/selenium-hub ...
ERROR: manifest unknown: manifest unknown
We are Spinning up 2 Browsers.
/usr/local/bin/docker-compose scale chrome=2 firefox=2
Creating and starting execution_chrome_1 ...
Creating and starting execution_chrome_2 ...
Pulling chrome (dockyard.cloud.capitalone.com/entepriseatdd/selenium-chrome-node:53.0.3)...
Pulling chrome (dockyard.cloud.capitalone.com/entepriseatdd/selenium-chrome-node:53.0.3)...
Trying to pull repository dockyard.cloud.capitalone.com/entepriseatdd/selenium-chrome-node ... 
Trying to pull repository dockyard.cloud.capitalone.com/entepriseatdd/selenium-chrome-node ...

ERROR: for execution_chrome_1  manifest unknown: manifest unknown

ERROR: for execution_chrome_2  manifest unknown: manifest unknown

1
通过创建一个带有更新的Docker版本的新镜像来解决这个问题。 - Siraj Syed
4个回答

71

通常出现在本地计算机或您正在查找的注册表中不存在图像时。

假设我有一个名为repository-name/image-name:v1.0.0的镜像。

对于以下docker-compose.yaml文件:

    # an example of docker compose
    version: '2'
    services:
      my-service-name:
        image: repository-name/image-name:v1.0.0
        restart: always

当我尝试使用存储在dockerhub上的docker镜像时,有两种情况会出现同样的错误:

当我输入错误的镜像名称时。

    # a wrong example
    version: '2'
    services:
      my-service-name:
        image: repository-name/image-wrong-name:v1.0.0
        restart: always
命令“docker-compose up”返回错误:
    /usr/bin/docker-compose up -d

    Pulling my-service-name (repository-name/image-wrong-name:v1.0.0)...
    ERROR: manifest for repository-name/image-wrong-name:v1.0.0 not found: manifest unknown: manifest unknown

或者如果图像的版本不存在。

    # a wrong example
    version: '2'
    services:
      my-service-name:
        image: repository-name/image-name:v1.0.1
        restart: always

我遇到了同样的错误:

    /usr/bin/docker-compose up -d

    Pulling my-service-name (repository-name/image-name:v1.0.1)...
    ERROR: manifest for repository-name/image-name:v1.0.1 not found: manifest unknown: manifest unknown

我的环境信息:

  • 操作系统平台是Linux(Ubuntu 16.04);
  • docker版本命令的输出结果
    Client: Docker Engine - Community
     Version:           19.03.12
     API version:       1.40
     Go version:        go1.13.10
     Git commit:        48a66213fe
     Built:             Mon Jun 22 15:45:49 2020
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.12
      API version:      1.40 (minimum version 1.12)
      Go version:       go1.13.10
      Git commit:       48a66213fe
      Built:            Mon Jun 22 15:44:20 2020
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.2.13
      GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
     runc:
      Version:          1.0.0-rc10
      GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
     docker-init:
      Version:          0.18.0
      GitCommit:        fec3683

1
一直遇到这个问题。在我的情况下,忘记标签(docker pull repo/image,其中只有 repo/image:other_than_latest_tag 存在)是最愚蠢的错误。 - Tomáš Záluský

38

我最近也遇到了同样的错误。这是因为你需要指定版本。

例如:docker pull envoyproxy/envoy:v1.18.3

如果你尝试执行以下操作:

docker pull envoyproxy/envoy

您遇到了以下问题:

Error response from daemon: manifest for envoyproxy/envoy:latest not found: manifest unknown: manifest unknown

3
谢谢,这对我来说就可以了。顺便说一下,“latest”不能作为版本号。 - pascalre
2
它被称为“标签”,而不是“版本”。 - Alex K

2
当您不运行最新版本的Docker镜像时,需要在镜像结尾处使用“:”加上版本号。
例如:repository-name/image-name:<version_number>

2
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Muhammedogz

1

我在删除私有仓库中的图像后遇到了这个问题,因为我没有删除依赖于我删除的图像的图像。仓库位于我的构建服务器上,所以我可以在 .../jenkins_home/workspace/MYPROJECT_projname_MYTAG 中获得该存储库的源代码。我进入该目录并使用 --no-cache 重新构建了图像,以便它不再依赖已删除的图像,并将其推送到仓库。

IMAGE_NAME=my/image
TAG=PR-59
docker build . -t ${IMAGE_NAME}:${TAG}temp --no-cache
docker tag ${IMAGE_NAME}:${TAG}temp $REGISTRY_IP:$REGISTRY_PORT/${IMAGE_NAME}:${TAG}
docker push $REGISTRY_IP:$REGISTRY_PORT/${IMAGE_NAME}:${TAG}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接