[docker-registry] Error response from daemon: unknown image in /v1.41/images/create?fromImage=

After upgrading to the latest version of docker desktop, docker-registry v2 stops working properly
Have pushed the image in the registry

image

try to pull it

$ docker pull localhost:4000/raketa/service
Using default tag: latest
Error response from daemon: unknown image in /v1.41/images/create?fromImage=localhost%3A4000%2Fraketa%2Fservice&tag=latest
1 Like

This seems to be a bug on engine 20.10.20. I have emailed support with similar details, and had a less than helpful response. The issue is not present on 20.10.16.

It appears to be to do with the ā€œnestedā€ naming. For example, ā€œdocker pull server:8042/alpine:3.16.2ā€ works fine, but ā€œdocker pull server:8042/bitnami/redisā€ fails on 20.10.20, but works on 20.10.16.

Edit, for completion, this also appears to be an issue on Mac

1 Like

Iā€™m confused by the url - /v1.41/ā€¦
Why not /v2/ ?

I gave an example with one image, but none of the other images are loaded from the registry either

On Mac everything works well - there was no an update yet

I would suggest checking the engine version number. I just rolled back from 20.10.20 to 20.10.17 and it all works again.

By ā€œnestedā€ I didnā€™t mean it contained multiple images, Iā€™m not sure on the correct terminology. For your example, if the service was stored directly as ā€œlocalhost:4000/serviceā€ I believe it would work, but adding ā€œraketa/serviceā€ it will break.

1 Like

I suspect Iā€™m running into the same root issue here with postgres:14.4 (on Windows 11)

It was working yesterday and then today my Docker Desktop updated to 4.13.1 and it broke.

fwiw I can also confirm that rollback to 4.12.0 does fix it by bringing the engine version back down with it.
also fwiw It doesnā€™t happen if I switch it to postgres:latest but it will happen for other tags like postgres:14.5 etc

I could reproduce the issue on my Mac. I works with any Docker version if I run Docker CE in a multipass virtual machine, but I could not pull the image called ā€œlocalhost:4000/owner/myimageā€, although I could push it.

It looks like it is indeed a bug in Docker Desktop and the request does not even reach the endpoint. I have tried it by running a simple HTTP server and trying to pull from and push to the HTTP server. It would not have worked obviously, but I could see the access logs. When I pished an image, I saw the access log, when I pulled the image, I didnā€™t see anything in the logs.

Then I tried the same in my multipass virtual machine with the same Docker CE version and I could always see something in the logs.

I am going to look for a similar issue on GitHub and report it if I canā€™t find any. Either way, I will get back to you with a link to an issue soon.

I could pull that image on my Mac, but there is a similar issue on GitHub. (for Mac) in Docker Desktop 4.13.0

It is stil not the link I promised :slight_smile:

Here is the link I promised. I created a new issue.

I also referred to the other issue with postgres mentioning that I could not reproduce that but seems similar.

1 Like

seems Docker Desktop 4.15.0 has fixed the issue. From the release notes:

Fixed regressions when parsing image references on pull. Fixes docker/for-win#13053, docker/for-mac#6560, and ā€¦(second mac issue link truncated because the forum wonā€™t let me include more than two links :man_shrugging:).

See full 4.15.0 release notes for more details (I would include the link but, again, the forum wonā€™t let me include more than two links :man_shrugging:) .