Running balenalib containers on Debian/Raspbian vs BalenaOS


I’ve been exploring Balenalibs docker hub, and noticed that at the top of the docs for their images that they are “optimized for use with and balenaOS, but can be used in any Docker environment running on the appropriate architecture.”

I’m curious to know what exactly these “optimisations” are, and if theres features that I will be missing if I run a balenalib containers on another host OS such as Debian/Raspbian with docker? I understand balenaOS comes with a slew of container management features, however I’m more interested in if theres differences from the running balenalib containers perspective?

Balena containers carry a bunch of things that make them very useful on Balena devices, such as support for Docker labels to allow containers to communicate with the balena OS supervisor and to various network interfaces. They also carry software to allow for emulating images on different devices, and interacts well with Balena CLI and other Balena tools for deploying to fleets.

If running on another OS though, it is unlikely you will benefit from the using Balenalib images (hard to be more specific without knowing what it is you are looking to run in a container). Generally they will tend to take up more space. Probably better off going straight to the maintainers of the packages you want to run (I.e. Python, Node, Go, all maintain their own image files, and the base images used by Balena, such as Alpine and Debian are all available directly).