With Docker support, embedded software engineers can separate applications and services within a system under embedded Linux ELinOS. This enables a well-structured systems and the reuse of code artefacts for further embedded projects. In addition to this modularity, the major advantage is the resource-saving nature of this form of virtualization: Applications share the same kernel, while only a few other areas such as the file system are separated. In addition, other system resources can also be limited and distributed with Docker, so that smooth functioning of a target can be ensured with appropriate programming. Inheritance of rights for individual Docker containers can also improve Security, since not every application needs root rights.
There are several ways to prepare the software images. The simplest is taking one of the 3.8+ million community-provided images (or 500+ from official/verified publishers). This covers the most widely used software like web servers, databases and various micro services. Docker tools also allow building custom images, while the most basic image can even be an ELinOS file system.
The containers are often designed to be stateless, in which case updating is a matter of downloading the new version and restarting the service. The simple update process also improves Security – if the components are configured correctly, the update can be performed seamlessly.
The Docker images (and containers) are independent on the environment/packages provided by ELinOS. This makes ELinOS a suitable platform for running Docker-based software. Even the Docker registry (image storage server) is provided as an image, and thus custom hosting can be setup without the need to use the public services.
Provides micro services like database or network services
No dependencies to ELinOS packages
Easily updatable container images
Security due to separate micro service container images