How Are Containers Different?

Discussed in-depth in our recent article on OpenVZ, containers offer a different take on virtualization. These solutions are not as easily categorized as the hypervisors, since they tend to be much more varied, as each is based on a specific OS.

Containers are able to "partition" an existing operating system, in order to provide multiple isolated environments to its users. The isolation of resources is attained by implementing several changes into an existing kernel, allowing for a more controlled resource management. Essentially, the adapted kernel takes on the role of "hypervisor and base kernel in one", naturally handling the isolation of each separate container.


The methods used for doing so vary from one solution to the next, but the fundamentals remain the same. Each container is locked into its own part of the host's file system, has its own users and processes, its own network address, and is practically fully customizable software-wise. To the actual user, it is for all intents and purposes a completely separate system.

Cutting out the kernel allows a virtual environment to have a much smaller footprint, since there is no need for a separate kernel supporting it, making it essentially just a separate group of processes on the host OS. Logically, we could state that in a comparison of a hypervisor solution and a container solution on the exact same hardware, the container solution is likely to provide a larger amount of separate systems. Nonetheless, nothing prevents users from combining the best of two worlds, as a container-supporting kernel will still run perfectly well on top of a hypervisor-solution, making systems even more flexible.

More information on how containers actually work can be found in our article on the subject, where we dig deep into the inner workings of the adapted OpenVZ kernel.

Examples of popular container-based solutions are Solaris Containers, OpenVZ, Parallels Virtuozzo, and Linux VServer.

When Are Hypervisors a Good Solution? When Should We User Containers?
Comments Locked

14 Comments

View All Comments

  • FATCamaro - Tuesday, October 28, 2008 - link

    I wasn't clear on how the different hypervisor products compared (ESX, Xen, MS?) with respect to binary translation or paravirtualization without looking at your other article. A summary here would have been nice.
  • MontagGG - Tuesday, October 28, 2008 - link

    You should be able to run a virtual Win98 in Vista to play classic games. This does require the premium editions.
  • murphyslabrat - Tuesday, October 28, 2008 - link

    You seemed to have addressed the issue in the end, but my question is: as far as PC Gaming goes, is there any reason to use a virtual machine. If the answer is yes, then which approach is typically best, and what would be the recommendation for software.
  • Denithor - Tuesday, October 28, 2008 - link

    Read page 11 of the article.

    Yes, in certain cases. If you're running OS X or Linux you can run a virtual copy of XP which can then run a game not supported by your "true" operating system. However, it's going to add overhead, therefore reducing performance (game speaks to the virtual XP which has to speak to the real OS which talks to the hardware). Newer games probably won't work very well because they need as much hardware as they can get so the extra baggage will just weigh them down.

Log in

Don't have an account? Sign up now