Docker镜像拉取错误无效字符

Stu*_*ner 5 docker docker-registry harbor

我正在尝试从 DTR 中提取 docker 映像,但出现以下错误

#docker pull repo/appname
Trying to pull repository  repo/appname ...
Pulling repository repo/appname
**invalid character '<' looking for beginning of value**
Run Code Online (Sandbox Code Playgroud)

我不确定出了什么问题。我刚刚用谷歌搜索并找到了与该错误相关的以下链接,但没有帮助。

https://github.com/stripe/stripe-go/issues/642

Von*_*onC 5

之前的回答建议是网络问题

就您而言,关于访问DTR(Docker 受信任的注册表),这也可能是一个正确的问题。
例如,如果docker login需要 a 才能访问该图像,则 a404 HTML 页面将被发回,并且 docker 命令不知道如何解释 HTML 答案(以 开头<!DOCTYPE html>),因此无效字符 ' <')

实际上,BMitch在评论中指出DTR 将发回 json 消息,而不是 HTML:

<是由于其他东西在请求到达注册表 API 之前拦截了该请求。

在请求发送到注册表 API 之前,某些东西正在捕获该请求。网络代理,或容器内的反向代理。
不管怎样,都不docker login应该有帮助。

我会卷曲注册表 URL/端口,看看是什么生成了错误。


Stu*_*ner 2

我的问题实际上是 DTR 中缺少图像。

我不知道他们在我的组织中有多个名称几乎相似(除了少数字符)的 DTR。因此,图像被推送到 ABC DTR,但拉动是查看 XYZ DTR。

因此,我得到了上述错误。我能够成功从正确的 DTR 中提取图像。