charliecloud icon indicating copy to clipboard operation
charliecloud copied to clipboard

`ch-image pull docker.io/...` fails

Open dschwoerer opened this issue 4 years ago • 2 comments

Fully specifing an image makes ch-image pull fail:

👍 bin/ch-image pull boutproject/release:4.2
pulling image:    boutproject/release:4.2
requesting arch:  amd64
manifest list: using existing file
warning: image is architecture-unaware
warning: requested arch is amd64; using --arch=yolo
manifest: using existing file
config: using existing file
layer 1/15: 256b176: using existing file
layer 2/15: 8709809: using existing file
layer 3/15: 986e6cb: using existing file
layer 4/15: 765c635: downloading: 83.5/83.5 MiB (100%)
layer 5/15: 700f4cb: downloading: 1.7/1.7 MiB (100%)
[...]

👍 bin/ch-image pull docker.io/boutproject/release:4.2
pulling image:    docker.io/boutproject/release:4.2
requesting arch:  amd64
error: not in registry: docker.io:443/boutproject/release:4.2
👎 # adding --arch=yolo doesn't help: 
👎 bin/ch-image pull docker.io/boutproject/release:4.2 --arch=yolo
pulling image:    docker.io/boutproject/release:4.2
requesting arch:  yolo
error: not in registry: docker.io:443/boutproject/release:4.2
👎 

dschwoerer avatar Sep 28 '21 13:09 dschwoerer

I can reproduce it:

$ ch-image pull docker.io/boutproject/release:4.2
pulling image:    docker.io/boutproject/release:4.2
requesting arch:  amd64
error: not in registry: docker.io:443/boutproject/release:4.2

Adding -vvv reveals that the URL it tries for the manifest (https://docker.io:443/v2/boutproject/release/manifests/4.2) goes to a human-facing 404 error on the Docker website.

podman pull docker.io/boutproject/release:4.2 works, as does docker pull docker.io/boutproject/release:4.2.

These other tools know to translate docker.io into registry-1.docker.io. I don't know where that comes from; I didn't see anything in /etc/containers.

reidpr avatar Oct 06 '21 23:10 reidpr

This still happens, though the error is different:

$ ch-image pull boutproject/release:4.2
[...]
done
$ ch-image pull docker.io/boutproject/release:4.2
pulling image:    docker.io/boutproject/release:4.2
requesting arch:  amd64
error: GET failed; expected status {401, 404, 200, 429} but got 403: Forbidden
trace: registry.py:580:request_raw, registry.py:539:request, registry.py:475:fatman_to_file, pull.py:177:fatman_load, pull.py:99:download, build_cache.py:1029:pull_eager, pull.py:38:main, ch-image:311:main

reidpr avatar Jun 02 '23 23:06 reidpr