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.
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.
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 ).
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 ) .