Docker is a containerization software that automates application deployment. It serves as a lightweight alternative to full machine virtualization that’s accomplished through traditional hypervisors like VMware vSphere, KVM, or Microsoft Hyper-V.
With the hypervisor approach, each virtual machine (VM) needs its own operating system, but with Docker, applications operate inside lightweight containers. Multiple containers are able to share a single host operating system, so applications deployed via Docker typically use resources more efficiently than those deployed via full machine virtualization.
Docker containers can run on any type of machine, including physical computers, bare-metal servers, and OpenStack cloud clusters. Millions of developers use Docker to build and share their containerized applications around the world.
Docker has a number of industry-leading features that make it a beloved tool among developers. These include:
- Docker Engine, a container runtime that runs on both Linux and Windows Server operating systems, so containerized software can run the same regardless of the underlying infrastructure
- Developer tools, a set of CLI plugins that enhance and simplify the development process
- Docker App, the first implementation of the open source Cloud Native Application Bundle (CNAB) specification, which helps with project management
Docker was originally released in March 2013 as an open source project. It is currently offered in four different editions:
- Pro: $5/user/month
- Team: $7/user/month
- Large: $7/user/month (500 users minimum)
This article was updated July 2021 by Kaiti Norton.