docker registry not support multi-architecture images #11109

Closed
opened 2025-11-02 09:27:53 -06:00 by GiteaMirror · 3 comments
Owner

Originally created by @ExplodingDragon on GitHub (Jun 26, 2023).

Description

I compiled and pushed images of both architectures (amd64, arm64) to gitea using Podman, but only the last pushed image was kept on the page, and I observed that multiple architectures seem to be part of the specification.

Is there something wrong with the way I'm pushing?

Test at: https://packages.d7z.net/images/rockylinux/packages

Gitea Version

1.20.0-RC2

Can you reproduce the bug on the Gitea demo site?

Yes

Log Gist

No response

Screenshots

No response

Git Version

No response

Operating System

No response

How are you running Gitea?

systemd

Database

None

Originally created by @ExplodingDragon on GitHub (Jun 26, 2023). ### Description I compiled and pushed images of both architectures (amd64, arm64) to gitea using Podman, but only the last pushed image was kept on the page, and I observed that multiple architectures seem to be part of the [specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md). Is there something wrong with the way I'm pushing? Test at: https://packages.d7z.net/images/rockylinux/packages ### Gitea Version 1.20.0-RC2 ### Can you reproduce the bug on the Gitea demo site? Yes ### Log Gist _No response_ ### Screenshots _No response_ ### Git Version _No response_ ### Operating System _No response_ ### How are you running Gitea? systemd ### Database None
GiteaMirror added the topic/packagesissue/needs-feedback labels 2025-11-02 09:27:53 -06:00
Author
Owner

@KN4CK3R commented on GitHub (Jun 26, 2023):

I can't tell what's wrong without more information but multi-architecture images are supported:

@KN4CK3R commented on GitHub (Jun 26, 2023): I can't tell what's wrong without more information but multi-architecture images are supported: ![](https://user-images.githubusercontent.com/1666336/159169400-42cf5936-039b-4008-915f-f730bb62e72b.png)
Author
Owner

@ExplodingDragon commented on GitHub (Jun 27, 2023):

Sorry, it's my problem.
Previously I was using separate compilation and push.

echo FROM quay.io/rockylinux/rockylinux:9 > Dockerfile
podman build --arch amd64  -t packages.d7z.net/images/rockylinux/el9/test --network host  --no-cache .
podman run -it --rm packages.d7z.net/images/rockylinux/el9/test uname -m
podman push packages.d7z.net/images/rockylinux/el9/test
podman build --arch arm64 -t packages.d7z.net/images/rockylinux/el9/test --network host  --no-cache .
podman run -it --rm packages.d7z.net/images/rockylinux/el9/test uname -m
podman push packages.d7z.net/images/rockylinux/el9/test

This will reproduce the previous problem.

Later I changed to use the following command which works fine.

podman build --platform linux/amd64 --platform linux/arm64 --manifest packages.d7z.net/images/rockylinux/el9/test --network host  --no-cache   .
podman manifest push packages.d7z.net/images/rockylinux/el9/test packages.d7z.net/images/rockylinux/el9/test

asciicast

Perhaps support for automatic change from single-architecture mirroring to multi-architecture mirroring (based on the first push method)?

@ExplodingDragon commented on GitHub (Jun 27, 2023): Sorry, it's my problem. Previously I was using separate compilation and push. ```bash echo FROM quay.io/rockylinux/rockylinux:9 > Dockerfile podman build --arch amd64 -t packages.d7z.net/images/rockylinux/el9/test --network host --no-cache . podman run -it --rm packages.d7z.net/images/rockylinux/el9/test uname -m podman push packages.d7z.net/images/rockylinux/el9/test podman build --arch arm64 -t packages.d7z.net/images/rockylinux/el9/test --network host --no-cache . podman run -it --rm packages.d7z.net/images/rockylinux/el9/test uname -m podman push packages.d7z.net/images/rockylinux/el9/test ``` This will reproduce the previous problem. Later I changed to use the following command which works fine. ```bash podman build --platform linux/amd64 --platform linux/arm64 --manifest packages.d7z.net/images/rockylinux/el9/test --network host --no-cache . podman manifest push packages.d7z.net/images/rockylinux/el9/test packages.d7z.net/images/rockylinux/el9/test ``` [![asciicast](https://asciinema.org/a/cb3KkotobvG2L3HgNc7oVJOjo.svg)](https://asciinema.org/a/cb3KkotobvG2L3HgNc7oVJOjo) Perhaps support for automatic change from single-architecture mirroring to multi-architecture mirroring (based on the first push method)?
Author
Owner

@KN4CK3R commented on GitHub (Jun 27, 2023):

The first example simply overwrites the latest tag and that's how it should work.
The working example creates a manifest index which includes both archs.

@KN4CK3R commented on GitHub (Jun 27, 2023): The first example simply overwrites the `latest` tag and that's how it should work. The working example creates a manifest index which includes both archs.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#11109