Docker is an open-source technology used to package, ship and run an application. Docker has become synonymous with the concept of containers, which are used to create a complete environment for a software application to run, including code, runtime, system tools and libraries. These containers are highly portable and are used to deploy applications across environments. Containers are not new, however Docker has made containers easier and safer to use, standardizing their use and integration with other DevOps technology.
Specifically, Docker makes it possible to set up local development environments that are exactly like a live production server, run multiple development environments from the same host that each have unique software, operating systems, and configurations, test projects on new or different servers, and allow anyone to work on the same project with the exact same settings, regardless of the local host environment.