2

尝试将本地 Docker 映像部署到本地 Minishift 实例中的 pod 时出现以下错误:

Failed to pull image "repo-name:port/app-name:1.0.0-SNAPSHOT-20190103151332485": 
rpc error: code = Unknown desc = Error: 
Status 400 trying to pull repository app-name: 
"{\n \"errors\" : [ {\n \"status\" : 400,\n \"message\" : 
\"Unsupported docker v1 repository request for 'docker'\"\n } ]\n}"

我已经使用相同的 Docker 环境成功地在本地部署了其他 pod。

运行docker images我可以确认我的图像在本地存在。

4

1 回答 1

2

似乎由于多种原因会出现此错误。最常见的原因似乎是无效的凭据或与远程存储库通信的问题。

如果您确定您的问题不在于远程通信,则问题可能是您的映像无法启动。我还没有机会研究它,但如果可能的话,一个更好的错误消息将是对Minishift的巨大贡献。

手动测试 Docker 镜像

要验证您的 docker 映像是否正常工作,请尝试手动运行它。

查找图像

跑:$ docker images

您应该会看到一个列表,其中包含 Minishift 尝试部署的映像。例如:

REPOSITORY                TAG                                IMAGE ID            CREATED             SIZE
repo-name:port/app-name   1.0.0-SNAPSHOT-20190103151332485   3e050126264c        14 minutes ago      704MB
repo-name:port/app-name   1.0.0-SNAPSHOT-20190103150418331   4293956e114f        23 minutes ago      704MB
repo-name:port/app-name   1.0.0-SNAPSHOT-20190103145227835   81fc7783e38f        35 minutes ago      704MB
repo-name:port/app-name   1.0.0-SNAPSHOT-20190103145203603   c5fa4815ee97        35 minutes ago      704MB

运行映像

确定要部署的映像的映像 ID 后,运行:

$ docker run -i -t <Image ID> /bin/bash

例如:

$ docker run -i -t 3e050126264c /bin/bash

诊断

如果映像因错误而失败,您可能已经找到了 Minishift 部署的问题。诊断问题,直到您拥有健康的映像,然后尝试再次部署。

在我个人的例子中,我发现在部署健康版本之前从 Minishift 中删除旧应用程序最可靠。

于 2019-01-03T15:42:45.207 回答