Docker图像拉出错误无效字符

问题描述

我正在尝试从DTR中提取一个docker镜像,但出现错误

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

我不确定这是怎么回事。我只是谷歌搜索,发现下面的链接错误有关,但没有帮助。

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

解决方法

上一个答案suggested a network issue

就您而言,关于访问DTR (Docker Trusted Registry)的问题也可能是正确的问题。
例如,如果需要docker login才能访问该图像,则会发送回 404 HTML页面,而docker命令将不知道如何解释HTML答案(开始<!DOCTYPE html>),因此无效字符'<')

实际上,BMitch有用地指出了in the comments,DTR会发回json消息,而不是HTML:

<来自于其他请求,该请求在到达注册表API之前便已拦截。

某事正在捕获请求,然后才将其发送到注册表API。网络代理或容器内的反向代理。
不管哪种方式,docker login都不起作用。

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

,

在我的情况下,问题实际上是DTR中缺少该图像。我不知道他们的组织中有多个DTR,它们的名称几乎相同(除了几个字符)。因此,图像被推到了ABC DTR,但拉动着眼于XYZ DTR。因此,我得到了上面的错误。我能够从正确的DTR成功提取图像。