2

我正在尝试从 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

4

2 回答 2

3

先前的答案表明存在网络问题

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

实际上,BMitch在评论中很有帮助地指出DTR 会发回一条 json 消息,而不是 HTML:

<是因为在请求到达注册表 API 之前拦截了请求。

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

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

于 2020-08-13T05:40:01.220 回答
2

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

于 2020-08-14T04:55:33.950 回答