Started in 2013. Very quickly become popular.

Docker single-handedly made Linux containers approachable and useful for all computer engineers.

Docker is typically used to create images of individual applications.

Benefits of the Docker

  • Portability and packaging. Environment will always be the same.
  • Single artifact can be used for test and deployments in pipelines. No need to recompile, repackage between each step unless required.
  • Abstraction between software and hardware without sacrificing resources, contrary to VMs that have some overhead of running themselves. Container is just another process that can talk directly to the underlying Linux kernel and utilizing more resources of the host machine this way.-

What Docker Isn’t

Docker doesn’t replace, but can be used in conjunction:

  • Enterprise virtualization platform (VMWare, KVM, etc.)
  • Cloud platform (OpenStack, CloudStack, etc.)
  • Configuration management (Puppet, Chef, etc.)
  • Deployment framework (Capistrano, Fabric, etc.)
  • Development environment (Vagrant, etc.)
  • Workload management tool (Mesos, Kubernetes, Swarm, etc.)

Important Terminology