What are Linux containers?

Louise Smyth

Programs used to be made by creating large monolithic scripts, however, a lot has changed in the last two decades. There are now prominent methods in manufacturing applications that use small, self-contained programs in tandem to add extra functionality to hardware. Here Florian Froschermeier from Insys, explains what Linux containers are and how manufacturers are using them to transform applications.

Linux containers (LXC) are an operating system (OS)-level virtualisation method that allows for multiple isolated Linux systems to run on the single Linux kernel of a control host. These programs are isolated in individual user-spaces and operate at the OS level. They are self-contained and lightweight, holding very few components, making them a powerful tool for adding applications to a system without worrying about dependency errors.

Developers can use containers to package an application with the libraries, dependencies and other files it needs to run, without the host needing to install extra assets. In this way, containers can be installed and work on any Linux system that supports container functionality regardless of configuration.

For example, if a developer is working on a program on their laptop while travelling, they may encounter issues if their office computers have a different configuration, such as a missing library. Applications in development rely on the system configuration and are dependent on specific libraries, dependencies and files being available to work.

Containers provide a way of bypassing these issues. Because the programs are self-contained, they can be ported to different Linux environments regardless of configuration, allowing developers to continue working anyplace and anytime.

On the other hand, in the example of a Linux system that has been stripped back and hardened to create a secure OS for a narrow use-case, containers can add in extra functionality. At Insys this is a key feature for our industrial routers that run our Linux-based icom OS, designed specifically for this purpose.

Plant managers can use the icom Smartbox, which comes preinstalled on any Insys industrial router, to enable LXCs and develop their own application or choose from an array of off-the-shelf applications. These containers can be used to connect legacy machinery, including legacy software designed to run on Raspberry Pi’s.

How do Linux users benefit?

Some of our customers have already used these devices to add edge computing to their network, as well as benefit from data analysis and reporting functions that send messages regarding anomalies immediately to users. Containers are a great way to bring machinery into the present and push it into the future.

Containers greatly increase the value that end-users can extract from industrial hardware. LXCs have the potential to achieve this with a wide range of products. In some cases, the LXCs can completely redefine the function of a piece of hardware, giving it a new lease of life for use on the network.

Another benefit of containers is that they increase the security of the system. Because they’re isolated, if one is compromised by a malicious attack, the others can maintain their integrity. Their isolation also means that even if one of the containers is compromised, the others and the host are still secure.

Some developers are beginning to create new programs by stitching together containers. This method allows the programs to become more flexible as individual containers can be swapped in and out easily allowing programs to be updated in line with user requirements.

Containers such as LXCs are proving to be an incredibly strong and versatile tool for developers and end-users. They have the potential to extend the life of hardware by redefining functions and giving old pieces of technology new functions. Their use is a gateway to continuous development.