Docker is an open platform for building, shipping and running distributed applications. It allows applications to run in isolated software containers that share the same operating system kernel to increase efficiency and enable portability between computing environments. Docker provides lightweight virtualization, greater security than virtual machines, and facilitates microservices architecture by allowing applications and their dependencies to be bundled into containers that can be easily deployed.