Docker is a set of platform as a service products that uses OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.
The Docker goal is to ease the creation, deploy and the delivery of an application using the so called Containers. ... But, instead of creating a full operating system, a Docker Container has just the minimum set of operating system software needed for the application to run and rely on the host Linux Kernel itself
Here is an amazing playlist of Docker tutorials for free by Raghav Pal containing 17 videos. The best one out there for beginners to advance.