Docker is a company that provides software (also called Docker) that allows you to build, run and manage software containers. While Docker’s container has been getting most of the press, there are other container solutions - Google/Canonical’s LXC/LXD, CoreOS’s rkt, etc.
A software container is a way to bundle and isolate processes (software) running on a server. If you are familiar with the virtual machine or virtual server virtualization model, it is sometimes referred to as “VM-lite” because its functionality similar to a VM but does not include an operating system.

Its components are:
1. Docker image - build component of docker
2. docker containers - run component of docker
3. docker registries- distribution component of docker.
Image is like blue print while to run your application on that image, you need to create container from that.
One image can have multiple containers but one container is associated with one image.