Specifying architecture when launching

I have been playing with a little incus cluster, composed of 4 x86_64 VMs, and 2 arm64 VMs. When I launch containers with e.g. incus launch images:ubuntu/22.04 my-container, I don’t see any way to control what architecture it uses? I.e. it seems to semi-randomly choose any of the cluster members to launch on, which can be either x86_64 or arm64.

Of course, after the container is launched, you can inspect its architecture, but I would like to have some way of telling incus launch to specifically find (for example) an arm64 image and launch it. Something similar to docker run --platform linux/arm64.

Does anybody now if this is possible through the command line interface?

Welcome to the Incus forum!

Incus has an option --target to specify which member of a cluster to launch the container.
By doing so, you effectively select the architecture of that cluster member.

Indeed, there is no option to specify the architecture and let Incus randomly select a suitable cluster member has the corresponding architecture. (see below)

Thanks, I think in the mean time I found a good way to do this, via How to set up cluster groups - Incus documentation . E.g. I put all the x86_64 members into a x86_64 group, and all the arm64 members in a arm64 group. Then I could use the --target=@arm64 option to specify the preference for launching in that group.

images:ubuntu/22.04/arm64 or images:ubuntu/22.04/amd64 should work

Thanks Stéphane, that indeed also works!