尝试将本地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
,我可以确认我的图片在本地存在。
答案 0 :(得分:1)
看来该错误可能由于多种原因而出现。最常见的原因似乎是由于凭据无效或与远程存储库通信时出现的问题。
如果您确定问题不是与远程通信有关,则问题可能是您的图像无法启动。我没有机会研究它,但是有更好的错误消息如果可能的话,这将为Minishift做出巨大贡献。
要验证您的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删除旧应用程序是最可靠的。