Docker is an open-source project written in Golang that Dotcloud developed. It is a container engine that uses features of the Linux kernel to allow the creation and running of containers on top of another operating system. Containers differ from but are similar to virtual machines, in that Docker can run applications in a virtual environment that is isolated from the underlying operating system. Docker containers allow developers to bundle an application they are developing with all the libraries and dependencies it needs to function in one package. Because dockerized applications come with everything they need to run — and run in their own environment — you can deploy them on any operating system that has Docker installed with no issue.