Docker engine sits on the top of the host operating system and its containers share the host machine kernel and hardware with approximately the same overhead of the processes launched directly on the host machine. Besides, Docker allows you to automate the deployment of applications into the container environment.
2. Docker is not a hardware virtualization system
When Docker was released, many people compared it to the hypervisor of virtual machines as VMware, KVM and Virtualbox. Even if Docker has some points in common with hypervisors, actually has a total different approach. Virtual machines emulate the hardware. The abstractions needed to make this operation have a cost. This means that you can only run a few virtual machines on the same hardware before to see some problems. On the other side, theoretically you can run hundreds of containers on the same machine without this kind of worries.
3. Docker uses a layered file system
Tools like Docker provide a deployment model based on images, which facilitate the sharing of an application or service among different environments. Each image file is layered, and anytime you edit the file a new level is created. If you know Photoshop, probably the concept of layers is already familiar to you: Docker works roughly in the same way. In short, edits to one layer don’t affect the layers below. In addition, you can easily control the images versions and quickly roll-up to the previous version.
4. Docker saves your time
Docker allows you to save a lot of time on the setup process, which in some cases can be very long and expensive, both in terms of time and in terms of dedicated staff (consequently, also at the economical level). Thanks to the deployment automation, these processes can be cut from an entire day to mere minutes.
5. Docker saves your money
You know, time is money. Docker enables to reduce costs, not only about dedicated staff but also about the infrastructure expenditure. With containers, unused memory and disk can be shared between instances. Therefore different services can be packaged on the same hardware, spinning them down when they are not needed without worrying about the cost of bringing them back up again.
6. Docker has a large ecosystem of existing images
Two years ago there were already more than 14.000 public Docker images available online. The majority of them is shared trough Docker Hub, a reference platform for who works with public Docker images.
7. Docker is multiplatform
Docker was born to manage Linux containers. However, now is possible to use it also with different operating systems using particular solutions.
In the next post we’ll talk about Kubernetes, another useful tool for the management of container infrastructure, stay tuned!
Do you want to use Docker but you don’t know how to start? Request a free consulting with our experts!