Glossary · Automation software engineering and architecture
Container (software)
Also known as: Software container, Application container
German: Container
In software engineering, a container is an isolated runtime instance of an application packaged with its libraries and dependencies, which shares the host operating system kernel but has its own file system, process space and network view. Containers are started from container images by a container runtime.
- Software engineering
In one sentence
A container is an isolated runtime instance of an application with its dependencies, sharing the host operating system kernel.
Example
An industrial PC runs the OPC UA-to-MQTT gateway and the local historian in separate containers, so each can be updated without affecting the other.
How it applies
- Engineering: Containers make deployments reproducible: the same image runs on a developer laptop, a test system and an edge device. They are widely used for edge applications, data services and increasingly for virtualized control functions.
- Operation and security: Containers isolate applications from each other but share the host kernel, so host hardening, image provenance and least-privilege settings remain essential. Real-time behavior depends on the host operating system and its configuration, not on the container itself.
- Documentation: Document which images and versions run on which devices, their resource limits, exposed ports, volumes and required privileges. Installation and service guides should describe how to update, roll back and collect logs from containers.
Container vs. virtual machine
A virtual machine, run by a Hypervisor, virtualizes hardware and runs its own operating system kernel. A container virtualizes at operating system level and shares the kernel. Containers are lighter and start faster; virtual machines provide stronger isolation.
Not to be confused with the iiRDS container, a packaging format for technical documentation.