The following issues demonstrate and explain this more succinctly and have been ongoing for almost a year.
Simply put, the issue is as follows.
This issue is, I assume, because Balena is forked from Docker and doesn’t yet support the latest features and has yet to pull in the MULTI-ARCH stuff from Docker so there is no support for automatically pulling images from the docker hub with the correct architecture.
If I have a
Dockerfile.template and I use
balena push appname, the following has to be present in my Dockerfile.
Else, the build will fail.
However, if I push to a local device, for example
balena push 10.0.100.1 then the same will not occur. I do not need to specify the architecture.
--platform=linux/arm/v7 is specified however, then the local build will fail, as the local docker daemon running on the device does not support the
--platform command, since it is more up to date than the Balena build server. Therefore I can only use one approach. I have been using the Balena build server ever since, since building locally is not an option due to this inconsistency.