What is Docker?

Docker is the big name in “containerization”. The big idea behind Docker and other container technologies is that they allow us to package our programs with an environment and ship the whole thing. Most real world programs don’t work in isolation, they need:

  • Files from disk
  • Environment variables
  • Installed dependencies
  • Specific permissions

Docker images and containers have become a standard for deploying applications.

Efficiency and Predictability

Docker makes development efficient and predictable. Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development – desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle.

Put simply: Docker allows us to deploy our applications inside “containers”, which are kind of like very lightweight virtual machines. Instead of just shipping an application, we can ship an application and the environment it runs in.