What is Docker?
Docker is a tool designed to make it easier to create, deploy, and run applications by using containers.
Containers execute images which are packages that contain the application and all the dependencies needed to run it such libraries and settings. It ensures that the application will run on any machine regardless of any custom machine settings or hardware and makes it easier to test and deploy applications and to horizontally scale.
Containers are transient environments, but it is possible to persist data by using volumes that can be connected to many storage providers such folders in the host computer, hard drives, cloud storage, RAMdisk, etc.
You can build you own images using a dockerfile and putting the instructions to create the environment on it.