Docker provides a wrapper around your software or application. It allows you to build, ship and run any application anywhere. The container is the application. It is a standardised unit of software that you can share with any one via docker hub.
Docker is made of images and containers.
These are read only templates used to create containers. They are built by you or other docker users, are shared and stored on docker hub.
These are isolated application platforms, this could be Ubuntu 16.04 or CENTOS. Containers have inside of them everything you need to run your application. The containers are based on one ore more images. images could be PHP, NGINX and MYSQL for example.
Provides a centralised place for finding other docker images built by the open source community.
It is cloud based registry service. It allows you to share your images with the world. You can build your images and share it with any one. You can test, store manually pushed images. You can link to Docker Cloud so you can deploy images to your host.