Containers provide an open platform for developing, deploying, and running applications. Containerization enables you to create a container that includes your application, any binaries or libraries that your application depends on, and any configuration details. The way which containerized applications operate is shown below.
As can be seen from this diagram, a container includes an application plus any binaries or libraries that the application requires in order for it to run. The container runs under the control of the container engine (such as Docker or CRI-O), which in turn runs on top of the operating system (which can be Windows 10, Windows Server 2016, or Linux depending on the container engine being used). Micro Focus recommends that you always follow your operating system vendor's best practices when working with containers.
Compare the containerized approach shown above with the diagram below that shows similar applications running in virtual machines rather than containers.
Note that a virtual machine includes a guest operating system whereas the corresponding container does not.