stara
stara

Reputation: 153

Error response from daemon: Unexpected status code 404

I am configuring docker registry on nexus 3 configuration. I Am running nexus behind apache and has https enabled.

On command line, when I do a docker search, I get the below error:

docker search my.nexus.net/ubantu

Error response from daemon: Unexpected status code 404

Here is the daemon log on debug mode:

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

If any one has any idea on it, please let me know.

Upvotes: 5

Views: 11258

Answers (5)

Darwin
Darwin

Reputation: 2057

I used a VPN and it worked. Not psiphon.

Upvotes: 0

veben
veben

Reputation: 22332

The docker search command use a v1 API. You have 2 alternatives :

  1. Enable v1 API before using docker search
  2. Use a curl like that: curl -X GET localhost:5000/v2/_catalog

Upvotes: 1

double-X
double-X

Reputation: 11

I had the same problem. After googling, it looks like 'docker search' uses the V1 API: see Issue https://github.com/docker/distribution/issues/206
So after I have enabled the V1 API on all docker registries of the group corresponding with the port, it works perfectly.

Upvotes: 1

Markus
Markus

Reputation: 2183

From the logs it seems you try pining different versions of the registry endpoint. Did you use v1Enabled:falseoption on the repository configuration? It seems to get an error during v1 ping but still uses that endpoint. It's rather strange & unexpected behaviour.

enter image description here

Upvotes: 3

joedragons
joedragons

Reputation: 2645

To do pretty much anything in docker using NXRM3, you need to specify the port you are searching so the repository manager knows what repository you are looking for. If you just specify the root port (or in your case, looks like no port), NXRM3 has no idea which you are looking at.

So if your group is setup to use HTTPS connector 18075 try "docker search my.nexus.net:18075/ubantu"

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

Upvotes: 0

Related Questions