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

Docker 来自守护程序的错误响应:意外状态代码404,docker,nexus3,Docker,Nexus3,我正在Nexus3配置上配置docker注册表。我在apache后面运行nexus,并且启用了https 在命令行上,当我执行docker搜索时,我得到以下错误: docker search my.nexus.net/ubantu 来自守护程序的错误响应:意外状态代码404 以下是调试模式下的守护程序日志: DEBU[7519] Calling GET /images/search INFO[7519] GET /v1.19/images/search?term=my.nexus.net%2F

我正在Nexus3配置上配置
docker注册表
。我在apache后面运行nexus,并且启用了https

在命令行上,当我执行
docker搜索时,我得到以下错误:

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
DEBU[7519]调用GET/images/search
INFO[7519]GET/v1.19/images/search?term=my.nexus.net%2Fubantu
DEBU[7519]ping注册表端点https://my.nexus.net/v0/
DEBU[7519]正在尝试对注册表终结点执行v2 pinghttps://my.nexus.net/v2/
DEBU[7519]hostDir:/etc/docker/certs.d/my.nexus.net
DEBU[7519]正在尝试对注册表终结点执行v1 pinghttps://my.nexus.net/v1/
DEBU[7519]hostDir:/etc/docker/certs.d/my.nexus.net

DEBU[7519]从日志中解组_-ping RegistryInfo:无效字符“”时出错。您似乎尝试键入不同版本的注册表终结点。您是否在存储库配置上使用了
v1Enabled:false
选项?它似乎在v1 ping期间出错,但仍然使用该端点。这是相当奇怪和意外的行为


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

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

参考资料:

我也有同样的问题。 谷歌搜索之后,“docker search”似乎使用了v1API:see问题

因此,在与端口对应的组的所有docker注册表上启用V1 API后,它工作得非常好。

docker search
命令使用V1 API。您有两种选择:

  • 在使用docker搜索之前启用v1 API
  • 使用这样一个curl:
    curl-X GET localhost:5000/v2/\u catalog

  • 我使用了一个VPN,它工作了。不是psiphon。

    同样的问题,docker pull工作正常,但在推送操作中nexus log show DEBUG[qtp1022076555-115]admin org.sonatype.nexus.repository.httpbridge.internal.DefaultHttpResponseSender-发送响应:响应{status=status{successful=false,code=404,message='null'},payload=null}这个选项在哪里?我正在使用docker版本19.03.12,找不到此设置。请以管理员身份登录Nexus。单击存储库->选择Docker存储库并向下滚动一点。:)