Problems with building multi-arch images
by Jan Christian Grünhage
Hey there,
I've been trying to get multi-arch images using buildah to work, but I
can't seem to figure out how this is supposed to work. And to be honest,
the documentation around that topic is a bit lacking too. From reading
https://github.com/containers/buildah/issues/1590, I'm fairly certain
I've got what I need, but it still doesn't seem to work.
First and foremost, a quick recap about my enviroment:
- I'm on an x86_64 machine
- I'm running this on an up to date install of Void Linux
- I've installed buildah from the main Void repos, at version 1.20.1
- I've also installed qemu-user-static, version 5.2.0
Here's my Dockerfile:
```Dockerfile
FROM docker.io/alpine
RUN arch
```
Now, when I try to build a multi-arch image, I thought I needed to do
this:
```sh
➤ buildah bud --pull --manifest test --platform linux/amd64 .
➤ buildah bud --pull --manifest test --platform linux/arm64 .
```
The first image build goes fine, which is expected, as I'm on my native
architecture. The second one fails like so:
```
STEP 2: RUN arch
standard_init_linux.go:219: exec user process caused: exec format error
error building at STEP "RUN arch": error while running runtime: exit
status 1
ERRO exit status 1
```
Am I missing anything obvious? To me it looks like even though I
specified the architecture, I'm running this natively without
qemu-user-static being involved.
I've also tried looking through the `--debug` output, but that's quite
verbose and doesn't contain `qemu` anywhere.
I'd be very glad to get feedback here, what I'm missing. Thanks in
advance :)
--
JC
3 years, 5 months