Exec format error with git push, works from local push

Hi all,

Just encountered an odd issue when building a simple test container, based on nginx-alpine-mainline: when it’s pushed using local mode (to a rPi3) the container builds and deploys fine. When we push it to the device using git push then we’re getting an exec format error, indicating that the container that’s being pulled is the incorrect arch.

Is it possible that the balena build servers are pulling the x86 version of this container?

Here’s the image I’m referring to: https://hub.docker.com/layers/nginx/library/nginx/mainline-alpine/images/sha256-8a8c000e061de996f7497abc53b3e7b073cd1f90eff9a48830dac64bd022ea91

Thanks,
Corin

Hi,

So, you’re absolutely right that the the reason that git pushing to our Builders isn’t using the right version and that it’s grabbing the first image in the multiarch manifest (which I believe is the x64 image).

This is because the Builders don’t yet support multiarch Docker manifests (although they are in the pipeline). For the moment, the best thing to do is to be explicit in the Dockerfile as to the required architecture, so that it can be pushed both locally and to the balena Builders.

Best regards,

Heds