Hendrik, thank you really, really much!
I'm also building multiarch manifests right now (without scopeo) and was wondering
about something very similar. I spent 5 hours yesterday to come up with a way to reference
local images in my manifest and consulted the podman documentation on
"Destinations" which only speaks of dir, archive, daemon and remote as valid
reference "transports". I got lost there and tried to build a work-around with
the podman system service although I really couldn't believe that there is no
transport for the local image storage. With your email suddenly arriving at my inbox it
solved a lot of my headache! Thank you for that!
Apart from that I've noticed another annoying thing, which might actually be a bug and
I'm wondering if that's something I should open up in podmans or buildahs issue
If I create a manifest with podman manifest create and add images with
container-storage:image-ref I can successfully add the (locally build; localhost/) images
to the manifest but from that point on podman images will crash with an error that the
label for said local images couldn't be retrieved and that I should remove the
"empty" manifests first. They are perfectly fine though, verified with an podman
Also in the past I usually did a podman pull on all images for the manifest first and a
push --all. Now it occurs to me that this only worked so far, because the images were
actually present at a remote location, or is this some kind of a recent regression?
Another bit from my work on this: it's a bit confusing if I reference a local image in
podman manifest add (like localhost/just-build:latest) and it immediately tries to find
the registry localhost instead of first looking if it's already present in the local
storage. Since container-storage is nowhere mentioned in the podman documentation it drove
me crazy actually.
A minor thing: why is it called container-storage if it actually allows access to the
Hendrik Haddorp <hendrik.haddorp(a)gmx.net> hat am 11.12.2020
I found https://github.com/containers/skopeo/pull/1032
which pointed me
to buildah and with that I found some steps that worked for me:
skopeo --override-arch amd64 copy
skopeo --override-arch s390x copy
buildah manifest create busybox-multi:1.32
buildah manifest add busybox-multi:1.32
buildah manifest add busybox-multi:1.32
buildah manifest push --all busybox-multi:1.32
still feels a bit complicated. when using the docker transport for the
"add" calls (buildah manifest add --arch s390x busybox-multi:1.32
docker://docker.io/library/busybox:1.32) things didn't work for me as
the manifest list always ended up with just the last image pulled.
Since podman has the same commands I thought it should work in the same
way but it didn't work more me.
After that I tried to export the multi arch image as an oci-archive.
That works if the source is using the transport "docker" but failed if
On 12/11/20 7:21 PM, Hendrik Haddorp wrote:
> I'm trying to create a manifest list, so a multi arch image. I started
> by using skopeo to copy busybox:1.32 for two different architectures to
> my local container storage. I gave them locally different tags. After
> that I tried to create a manifest list using "podman manifest list". The
> first issue I noticed is that
> shows a different syntax to what I get in podman 2.1.1 as I can not
> specify more then one image in the command. Anyhow, so I first create
> the list with the first image and then use "podman manifest add" to add
> the second image. Doing a "podman images" command I see that my manifest
> list image size increased a bit but is still just a few KB. pushing the
> manifest list now results in a failure. Should those commands work or am
> I missing something? I would also have expected that I can create the
> manifest list with skopeo, ideally as part of a copy call, but I didn't
> find anything on that in skopeo. Is there a better approach for
> combining multiple images to one?
> Podman mailing list -- podman(a)lists.podman.io
> To unsubscribe send an email to podman-leave(a)lists.podman.io
Podman mailing list -- podman(a)lists.podman.io
To unsubscribe send an email to podman-leave(a)lists.podman.io