SelfhostedPro/Yacht

[Feature Request] Show image platform/architecture for running containers

seanf opened this issue · 0 comments

seanf commented

Is your feature request related to a problem? Please describe.
Apple Silicon Macs (ARM64, ie M1/M2) can run Intel/AMD64 containers via emulation, but this is normally much slower than a native container because it typically uses QEMU. (Options for Rosetta 2 emulation are emerging, eg on Colima, but there is still a performance cost compared to native containers.)

The performance hit can often be avoided by switching to a native image, but you can't fix the problem unless you know about it.

Describe the solution you'd like
Docker Desktop's Containers view shows Intel containers running on an ARM64 host with an AMD64 warning decoration, and the tool-tip "Image may have poor performance, or fail, if run via emulation". Something similar would be nice, perhaps on the Dashboard, on Applications, or ideally both.

Showing the platform for each image in the Resources/Images page would be handy too.

Describe alternatives you've considered
Another option, instead of a decorator/label, might be an additional column in the Applications page, which could show the platform from the running image, eg linux/amd64 or linux/arm64. However, the two platform names are visually very similar, so something like colour coding would be helpful.

Additional context
A screenshot of the Docker approach:
image

This command line gathers the required information, although not in the ideal format:

$ docker image inspect --format "{{.Os}}/{{.Architecture}} {{.ID}} {{.RepoTags}} {{.RepoDigests}}" $(docker ps --format {{.Image}})
linux/arm64 sha256:90c2ad86a2ade5227380194d1b159c293cafe471bb8fbd55436cef67271ef632 [selfhostedpro/yacht:latest] [selfhostedpro/yacht@sha256:63d0ec5685da9dc91679cdcae473455a9515713cd3221025027276f278a4fc4a]