In this post i will describe as short as possible, what Docker is. I will try to explain how it works, what benefit it brings using it and what you can use it for. This post will help you to get a first impression. Even though docker is not the newest Technology and already aged a bit, it still is very popular.
Not a VM
The Docker technology was originally based on the LXC technology – which is mostly associated with “traditional” Linux containers – but it has since freed itself from this dependency. LXC was useful as lightweight virtualization, but did not provide a good developer or user experience. Docker technology offers more than the ability to run containers – it also simplifies the process of creating and building containers, sending images, and versioning images, among other things.
Working with containers
The docker approach to containerisation focuses on taking only part of the application out of service for repair or updating, without having to take the whole application out of service. In addition to this microservices-based approach, you can share processes across multiple apps – similar to a service-oriented architecture (SOA).
Getting new hardware up and running usually took days and required a lot of effort. With Docker-based containers, deployment can be reduced to seconds. By creating a container for each process, you can quickly share similar processes with new apps. And because you don’t have to boot the operating system to add or move a container, deployment times are much shorter. What’s more, with this development speed, you can easily and cost-effectively create data and safely delete the data generated by your containers.
Docker technology is a granular, controllable, microservices-based approach that is much more efficient.
A lot of possibilities to manage
Docker on its own is ideal for managing individual containers. As you begin to use more and more containers and containerized apps, broken down into hundreds of parts, management and orchestration can become very difficult. At some point, you need to take a step back and group containers to provide services such as networking, security, telemetry, etc. in all your containers. This is where Kubernetes comes in