Hi @abmg – thanks for the additional info. I was able to duplicate your problems when deploying to my Jetson Nano, using your Dockerfile. I think what’s happening here is that the image is being built using an incorrect architecture; if I add the file utility to the nginx:alpine container, I can see that:
- when I run
balena deploylocally, thenginxbinary is for x86_64 (my laptop’s architecture); on my Nano, I see theexec format erroryou saw; - but when I run
balena push, which uses the balena Cloud builders, the binary is for ARM aarch64 architecture, and on the Nano everything is fine.
I was able to get around this by using https://hub.docker.com/r/arm64v8/nginx, which is an official Docker build of nginx for 64-bit ARM:
-
FROM arm64v8/nginxas the first line of the Dockerfile -
balena deploy JetsonNanoApp --emulated --buildas the command
A quick search turned up this issue and this forum post, which offer a good background on what’s going on here.
One thing I’m not sure about is whether the balena CLI should be fetching the correct image when using nginx:alpine; I will check with a colleague of mine and get back to you. In the meantime, can you give this workaround a try and let us know if it works for you?
All the best,
Hugh