I have a multi-service, multi-stage build for pi zero devices based on alpina images. I typically develop and optimize the image specs/dockerfile by building using
balena build -a my-app-name, which builds it on my mac using my docker instance, but do the actual build and application deployment using
balena push my-app-name which builds on the servers and then deploys to the application group. So far this seems to have worked but I’m a bit unclear on a few things:
- My understanding is that when I build using
build, docker will automatically cross-compile based upon the architecture that comes from the application profile. Is that correct?
- the container size is different depending on whether I build on my docker or in the cloud (the latter is smaller). Is this because the local build automatically includes emulation libraries?
- Is doing a
balena deploy --buildequivalent to doing a
push? It seems there is more flexibility with
build, for example, by providing build arguments that can control the build.