## The Linux container engine

##### Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.

Let's get started

#### Heterogeneous payloads

Any combination of binaries, libraries, configuration files, scripts, virtualenvs, jars, gems, tarballs, you name it. No more juggling between domain-specific tools. Docker can deploy and run them all.

#### Any server

Docker can run on any x64 machine with a modern linux kernel - whether it's a laptop, a bare metal server or a VM. This makes it perfect for multi-cloud deployments.

#### Isolation

Docker isolates processes from each other and from the underlying host, using lightweight containers.

#### Repeatability

Because each container is isolated in its own filesystem, they behave the same regardless of where, when, and alongside what they run.

# New! Docker Index

On the Docker Index you can find and explore pre-made container images. It allows you to share your images and download them.
DOCKER index
Fill out my online form.
John Willis @botchagalupe: IMHO docker is to paas what chef was to Iaas 4 years ago
John Feminella ‏@superninjarobot: So, @getdocker is pure excellence. If you've ever wished for arbitrary, PaaS-agnostic, lxc/aufs Linux containers, this is your jam!
David Romulan ‏@destructuring: I haven't had this much fun since AWS
Ricardo Gladwell ‏@rgladwell: wow @getdocker is either amazing or totally stupid

## Notable features

- Filesystem isolation: each process container runs in a completely separate root filesystem.
- Resource isolation: system resources like cpu and memory can be allocated differently to each process container, using cgroups.
- Network isolation: each process container runs in its own network namespace, with a virtual interface and IP address of its own.
- Copy-on-write: root filesystems are created using copy-on-write, which makes deployment extremeley fast, memory-cheap and disk-cheap.
- Logging: the standard streams (stdout/stderr/stdin) of each process container is collected and logged for real-time or batch retrieval.
- Change management: changes to a container's filesystem can be committed into a new image and re-used to create more containers. No templating or manual configuration required.
- Interactive shell: docker can allocate a pseudo-tty and attach to the standard input of any container, for example to run a throwaway interactive shell.

## Under the hood

Under the hood, Docker is built on the following components:

- The cgroup and namespacing capabilities of the Linux kernel;
- AUFS, a powerful union filesystem with copy-on-write capabilities;
- The Go programming language;
- lxc, a set of convenience scripts to simplify the creation of linux containers.

## Who started it

Docker is an open-source implementation of the deployment engine which powers dotCloud, a popular Platform-as-a-Service.

It benefits directly from the experience accumulated over several years of large-scale operation and support of hundreds of thousands of applications and databases.

### Twitter

Tweets by @getdocker