Docker 图片拉取错误无效字符

Docker image pull error invalid character

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

#docker pull repo/appname
Trying to pull repository  repo/appname ...
Pulling repository repo/appname
**invalid character '<' looking for beginning of value**

我不确定出了什么问题。我只是用谷歌搜索并在下面找到 link 与错误相关但没有帮助。

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

之前的回答

在您的情况下,关于访问 DTR (Docker Trusted Registry),这也可能是一个正确的问题。
例如,如果需要 docker login 才能访问该图像,则会发回 404 HTML 页面 ,以及 docker 命令不知道如何解释 HTML 答案(以 <!DOCTYPE html> 开头),因此无效字符 '<')

实际上,BMitch helpfully points out DTR 会发回 json 消息,而不是 HTML:

This < is from something else intercepting the request before it gets to the registry API.

Something is capturing the request before it makes it to the registry API. Network proxy, or a reverse proxy within the container.
Either way the docker login shouldn't help.

I'd curl the registry url/port and see what is generating the error.

我遇到的问题实际上是 DTR 中缺少图像。我不知道他们在我的组织中有多个名称几乎相似(除了几个字符)的 DTR。因此图像被推送到 ABC DTR,但拉动正在调查 XYZ DTR。因此我得到了上述错误。我能够成功地从正确的 DTR 中提取图像。