Docker is an open source container engine which provides for the creation, execution, and management of lightweight application containers. Docker allows users to run instances from published images, which are available through a public repository. A domain-specific language, called Dockerfile, may also be used to create new images. Once authored, images can be run in any Docker environment.