4

我正在配置docker registrynexus 3 配置。我在 apache 后面运行 nexus 并启用了 https。

在命令行上,当我执行 a 时docker search,出现以下错误:

码头工人搜索 my.nexus.net/ubantu

来自守护程序的错误响应:意外的状态代码 404

这是调试模式下的守护进程日志:

DEBU[7519] Calling GET /images/search 
INFO[7519] GET /v1.19/images/search?term=my.nexus.net%2Fubantu 
DEBU[7519] pinging registry endpoint https://my.nexus.net/v0/
DEBU[7519] attempting v2 ping for registry endpoint https://my.nexus.net/v2/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
DEBU[7519] attempting v1 ping for registry endpoint https://my.nexus.net/v1/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
DEBU[7519] Error unmarshalling the _ping RegistryInfo: invalid character '<' looking for beginning of value
DEBU[7519] RegistryInfo.Version: ""
DEBU[7519] Registry standalone header: ''
DEBU[7519] RegistryInfo.Standalone: true
DEBU[7519] attempting v1 ping for registry endpoint https://my.nexus.net/v1/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
DEBU[7519] Error unmarshalling the _ping RegistryInfo: invalid character '<' looking for beginning of value
DEBU[7519] RegistryInfo.Version: ""
DEBU[7519] Registry standalone header: ''
DEBU[7519] RegistryInfo.Standalone: true
DEBU[7519] Endpoint https://my.nexus.net/v1/ is eligible for private registry. Enabling decorator.
DEBU[7519] Index server: https://my.nexus.net/v1/
DEBU[7519] hostDir: /etc/docker/certs.d/my.nexus.net
ERRO[7519] Handler for GET /images/search returned error: Unexpected status code 404
ERRO[7519] HTTP Error                                    err=Unexpected status code 404 statusCode=500

如果有人对此有任何想法,请告诉我。

4

5 回答 5

3

从日志看来,您尝试固定不同版本的注册表端点。v1Enabled:false您是否在存储库配置中使用了选项?在 v1 ping 期间似乎出现错误,但仍使用该端点。这是相当奇怪和意想不到的行为。

在此处输入图像描述

于 2017-01-25T16:50:12.147 回答
1

docker search命令使用 v1 API。您有 2 种选择:

  1. 在使用 docker search 之前启用 v1 API
  2. 使用这样的卷曲:curl -X GET localhost:5000/v2/_catalog
于 2018-08-30T14:05:34.593 回答
1

我有同样的问题。谷歌搜索后,'docker search' 使用 V1 API:请参阅问题https://github.com/docker/distribution/issues/206
因此,在我在与组对应的所有 docker 注册表上启用 V1 API 之后端口,它工作得很好。

于 2018-07-06T06:07:10.177 回答
0

要使用 NXRM3 在 docker 中执行任何操作,您需要指定要搜索的端口,以便存储库管理器知道您要查找的存储库。如果您只指定根端口(或者在您的情况下,看起来像没有端口),NXRM3 不知道您在看哪个。

因此,如果您的组设置为使用 HTTPS 连接器 18075,请尝试“docker search my.nexus.net:18075/ubantu”

参考:http: //books.sonatype.com/nexus-book/reference3/docker.html#docker-search

于 2017-03-07T20:27:25.213 回答
0

我使用了VPN并且它有效。不是赛风。

于 2021-03-07T16:26:31.063 回答