ARTIFACTORY:在解析docker映像时如何解决映像未找到错误?
症状:
- docker映像可以在远程或本地缓存中使用,但是不能通过智能远程存储库解析。
- Docker客户端返回HTTP 404错误(未找到图像/标签)
- Docker客户端返回HTTP 401/403错误(获取清单错误)。json [or]禁用
错误信息:
来自daemon的错误响应:manifest for
如果远程URL没有按照设计配置,那么这些错误尤其可能发生在远程边缘存储库或智能远程存储库中。
步骤1:
我们需要检查相关的远程存储库是否能够到达配置的远程URL。这可以通过使用JFrog平台UI→Administration→Repositories→Repositories | Remote→Basic下的UI中的Test按钮来完成。
如果远程URL不正确,那么Test将从UI显示以下错误消息。
连接失败:目标远程URL返回错误401:未经授权
步骤2:
因为这个错误确认了相关的远程存储库没有连接到实际的远程URL,所以我们假设,在智能远程存储库的情况下,我们可能已经复制了直接的本地/远程存储库的URL作为源,而没有添加Artifactory实例通信所需的实际URL上下文。
例如:http://
但是,智能远程存储库需要配置包含在远程URL中的附加上下文。
在Docker的情况下,远程URL应该包括“/api/ Docker”以及存储库的名称。
例如:http://
将/api/docker修改为智能远程存储库的URL应该有助于解决这个问题。
参考:JFrog——智能远程存储库
有关“如何配置Docker智能远程存储库”的演示视频,请参考在这里.
