Docker is an open source project that automates the process of deploying applications inside containers. One way to think about this software is that it is a lightweight version of virtual machines.
I have only recently began to use Docker and have really enjoyed the process of learning and using this useful piece of software. I use it for the following reasons:
You can install Docker by downloading the software from dockers official website here
From my experience Docker and Docker Compose work seemlessly when working on a linux(like) environment. It is possible to use Docker on windows but you may encounter some dependency issues and require to download additional software/packages.
Compose is a tool to define and run multiple container Docker applications.
There are a number of ways to install Docker Compose. You can read about the various methods here. My preference is to use pypi, if you have pypi installed on your machine you can install Docker Compose via the following command:
pip install docker-compose
Check out my tutorial on using Docker Compose for building a Django app.