A system container, also called an operating-system container, provides an OS-centric runtime that behaves much like a standalone server while using considerably fewer resources than a traditional virtual machine.
Unlike application containers that usually run one primary service, a system container can operate a complete init system such as systemd, SysVinit, Upstart, or OpenRC. This makes it possible to run several processes—including OpenSSH, cron, and system logging—inside the same isolated instance.
System containers are well suited to traditional and legacy monolithic applications because existing virtual-machine architectures, tools, services, and configuration approaches can usually be reused with minimal changes.
Application containers typically focus on a primary process, while system containers can run multiple OS services together.
Benefits and Characteristics
Stateful Operation
System containers retain their data and state after reboot and support live migration between host nodes, datacentres, and clouds.
Multiple Services
A complete init system can launch and supervise several services inside a single container.
Java Compatibility
Java applications can run without special adjustments to make the Java process container-aware.
Hot Redeployment
Existing hot-deployment approaches can be used without restarting the container or Java runtime.
Application-Server Clustering
System containers simplify and accelerate clustering for Java EE and Jakarta EE application servers.
Low Overhead
They provide VM-like behaviour while consuming fewer host resources and remaining easier to manage at scale.
System containers are particularly appropriate for long-running stateful services, including SQL databases, NoSQL databases, and in-memory data stores.
System Container Implementations
Common system-container technologies include:
BSD Jails
Linux-VServer
Solaris Zones
OpenVZ and Virtuozzo
LXC and LXD
Virtuozzo Application Management uses Virtuozzo system-container technology. It enables a large number of isolated system containers to run on the same host and allows administrators to manage them with process-like efficiency.