Closed sporksmith closed 3 months ago
This is normal, since Docker forgot to include "arch" from the beginning but added it afterwards in the "manifest lists" (multi-arch)... As a workaround, you can either delete the old image or use the arch-specific images in your builds.
https://github.com/docker-library/official-images#architectures-other-than-amd64
Duplicate of #17237
Issue Description
When running a multi-platform image without explicitly specifying a platform, a locally cached version will be used even if it isn't the default platform.
Steps to reproduce the issue
On my amd64 host system, if I run debian:11-slim without specifying the platform, I get the amd64 image as expected:
If I explicitly ask for 386, I get that, as expected:
Surprisingly, if I run again without explicitly specifying the platform, I now get the cached 386 image:
This is confusing, especially in situations where a cache may be shared across multiple users.
Describe the results you received
The image of the last-requested-platform is run.
Describe the results you expected
The image corresponding to the default/host platform is run, pulling if necessary, even if the cache contains an image of a different platform.
podman info output
Podman in a container
No
Privileged Or Rootless
Rootless
Upstream Latest Release
No
Additional environment details
Additional environment details
Additional information
Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting