ARTIFACTORY:在解析docker映像时如何解决映像未找到错误?

Yuvarajan Johnpaul
2023-01-22 11:06

症状:

  • docker映像可以在远程或本地缓存中使用,但是不能通过智能远程存储库解析。
  • Docker客户端返回HTTP 404错误(未找到图像/标签)
  • Docker客户端返回HTTP 401/403错误(获取清单错误)。json [or]禁用

错误信息:

来自daemon的错误响应:manifest for not found: manifest unknown:注册表不知道命名的manifest。

如果远程URL没有按照设计配置,那么这些错误尤其可能发生在远程边缘存储库或智能远程存储库中。

步骤1:

我们需要检查相关的远程存储库是否能够到达配置的远程URL。这可以通过使用JFrog平台UI→Administration→Repositories→Repositories | Remote→Basic下的UI中的Test按钮来完成。

如果远程URL不正确,那么Test将从UI显示以下错误消息。

连接失败:目标远程URL返回错误401:未经授权

步骤2:

因为这个错误确认了相关的远程存储库没有连接到实际的远程URL,所以我们假设,在智能远程存储库的情况下,我们可能已经复制了直接的本地/远程存储库的URL作为源,而没有添加Artifactory实例通信所需的实际URL上下文。

例如:http:///artifactory//

但是,智能远程存储库需要配置包含在远程URL中的附加上下文。

在Docker的情况下,远程URL应该包括“/api/ Docker”以及存储库的名称。

例如:http:///artifactory/api/<包类型>/<存储库密钥>

将/api/docker修改为智能远程存储库的URL应该有助于解决这个问题。

参考:JFrog——智能远程存储库
有关“如何配置Docker智能远程存储库”的演示视频,请参考在这里