-
Notifications
You must be signed in to change notification settings - Fork 310
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ECR Public] [request]: cross-repository blob mounts failing? #1459
Comments
Thanks for opening this @tianon. If that's the root cause, I'm curious if a tag-based multi-arch assembly would be a short-term workaround (maybe not helpful for your use case, but would enable existing tools in the short term)? If all the images are in the same repo (e.g. " |
Yeah, that's doable, but not really less work than doing the push-by-digest solution (and leaves the extra tags hanging around unless I clean them up after). 馃槄 I'm sure if I take each image manifest and do a direct push-by-digest via FWIW, @samuelkarp was able to reproduce too:
|
Got around to it sooner than I expected -- can confirm that pushing all the manifests by-digest to |
Ideally ECR Public would support mounting, but it should at least return a 202 here instead of failing. |
Community Note
Tell us about your request
I filed an issue on @estesp's
manifest-tool
at estesp/manifest-tool#124, but in testing further, evendocker manifest
fails to successfully create the cross-repository manifest lists, so I believe this is something deeper.As seen in my latest comment there, the short version is that:
docker manifest create public.ecr.aws/debian/debian:bullseye public.ecr.aws/debian/amd64:bullseye public.ecr.aws/debian/armel:bullseye public.ecr.aws/debian/armhf:bullseye public.ecr.aws/debian/arm64:bullseye public.ecr.aws/debian/i386:bullseye public.ecr.aws/debian/mips64el:bullseye public.ecr.aws/debian/ppc64el:bullseye public.ecr.aws/debian/s390x:bullseye
followed by:
docker manifest push public.ecr.aws/debian/debian:bullseye
leads to:
error mounting debian/amd64@sha256:4c0bfd2a9f4e90b5a07958f07d71b2e2ea5a965649c92bf35822aece72a29c6b to public.ecr.aws/debian/debian:bullseye
Which service(s) is this request for?
ECR Public
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
At a high level, I have per-architecture images pushed to each of
public.ecr.aws/debian/amd64
,public.ecr.aws/debian/armel
, etc, and I want to push the combined manifest lists topublic.ecr.aws/debian/debian
. Functionally, this means the clients creating the manifest list have to do cross-repository blob mounts, but for some reason that doesn't seem to be working properly in any of the three tools I've tested (which I use to do exactly this successfully against other registries).Are you currently working around this issue?
I was hoping
docker manifest
would be my workaround, but it looks like I'm going to have to go as far as using containerd to do push-by-digest of all the per-arch images instead. 馃槥cc @samuelkarp
The text was updated successfully, but these errors were encountered: