The principles of hypervision that form the foundation of cloud hosting have recently been ported to the operating system level. OS-level virtualization, also known as container-based virtualization, is a new technology that divides a machine, regardless of whether this is a physical or virtual machine, into multiple virtual instances, called containers.
To the user, containers feel the same as traditional virtual machines. However, unlike VMs, containers are very lightweight since they share their kernel with the underlying operating system. By eliminating an additional OS layer, containers have a much lower overhead on the host machine, are significantly smaller in size, and as a result, allow for rapid instantiation and replication.
The combination of virtual machines and containers form the basis of contemporary cloud computing, where a high level of scalability and flexibility is inherited from hypervisor-based virtualization on two levels.
There are several implementations of container-based virtualization. Some of the most popular ones in terms of adoption are LXC, Mesos containerizer, Rkt, and Docker. Especially the latter one has drawn great attention from the IT industry in the recent years.
Docker is an open source project that was initially released in 2013 by Docker, Inc. Since then, it has grown into a rich ecosystem of both free and premium products that enable software developers to package up their applications inside containers and deploy them on a wide range of machines in an accessible way.
There are four main components of Docker:
If you are new to Docker, this might all seem a little overwhelming. Luckily, as you will learn from the remainder of this documentation, Smoothy takes care of all this complexity for you. 😌
All rights reserved. Yes. All of them.