-
Notifications
You must be signed in to change notification settings - Fork 548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
question: copy from docker hub to local registry failing with MANIFEST_BLOB_UNKNOWN #1418
Comments
What version of Copying non-distributable layers was added fairly recently in #1348 -- there might still be bugs lingering. In your |
Ops sorry, I'm using crane 0.11.0 and I've attached the full log to this issue. The destination registry is empty. My goal is to have everything in there (including whatever is at |
So that log seems to include a successful HEAD request for the blob in the destination registry:
This signal from the destination registry tells Does this happen with regular non-non-distributable layers? It might help us tell whether this is a bug in the registry's support for non-distributable layers, or if there's some weird state happening in your registry that's causing problems for "regular" pushes too. |
It works fine with regular layers. The problem seems to be the pushed manifest. I think it should have rewritten the first layer to be a regular layer, that is, use a
|
Hmm, it sounds like the theory is that distribution registry responds to a I'm not really comfortable changing the manifest contents (and therefore its digest) when we copy an image that includes non-distributable layers. This seems like something that will just cause more confusion and issues for folks later. |
If Maybe I've got this wrong, but I though that Maybe I didn't made this clear, but my goal is to create an offline copy of all the manifests/layers. And them, import them in an registry without internet access. Maybe |
ccing @jwhb who added the flag and @StevenLocke who added the behavior in #930 in case they have any more input/context to add. |
@imjasonh, thanks for the explanation! its now clearer for me :-) I also want to add that with the @mtrmac help at containers/skopeo#545 (comment), I was able to understand why the manifest upload was failing. By default a docker distribution registry is not configured to accept external references. After changing the default registry configuration, validation:
manifests:
urls:
allow:
- .+ |
Thanks for digging into it, and for sharing the config that makes distribution accept this. We should probably document that somewhere, but I'm not sure where. In the meantime this issue is better than nowhere! 😅 |
validation:
disabled: true |
I'm trying to copy a multi-platform image from https://hub.docker.com/repository/docker/ruilopes/example-docker-buildx-go to my local registry (a distribution registry:2.8.1 instance) with:
But its failing with:
Please note that this is a multi-platform image, which contains linux and windows platform images.
Also note that I'm trying to copy all images and all their layers (including the nondistributable/foreign-layers) to the local registry.
Can you please help me troubleshoot what is going on?
The full log is attached as crane.log.
The text was updated successfully, but these errors were encountered: