Docker is to the kernel, what a (Para)Virtual Machine is to the hardware. In other words, Containers are a lightweight virtualisation framework that doesn't boot another kernel on top of (para) virtualized machines. They exist on top of the currently running kernel and have their own Process space, Memory and CPU cycles quotas. You should use docker if you have the need for continuously building components and to make sure testing them is as painless as possible, because docker containers are isolated runtimes of an application and it kinda makes sure that the whole ‘Developers throw components over the wall to Operations’ problem is tackled in a more systematic way. Docker is a very high demand reason being everyone is shifting their product to the cloud so you must learn Docker. In order to do that you must take up the following Docker Training Course.
Here is a video tutorial which you must watch to learn all the basics of Docker. .