Introduction to Docker
Docker is a mechanism that isolates the dependencies for applications, or tests, by packing them into containers. Each container runs an image that is designed to run a software app or apps, including all necessary libraries and dependencies. You can create images from scratch, or download them free and edit them to fit your needs. Docker containers are portable, and run on Mac, Linux, and Windows. Docker allows members of a team to ensure that they are working in the same environment.
Docker operates like a Virtual Machine (VM). However, instead of each container having its own OS, resources are shared among Docker containers, as you can see in the following image. This means that applications can be packaged with only what they need to run. Containers are more lightweight, portable, and reusable than VMs: