The DotCloud company has developed and laid out in open access the Docker system - high-level interfaces for accessing Linux-containers (LXC). It is an ideal tool for working with containers on any x64 server, for deploying large-scale web installations, database clusters, private PaaS, etc.
LXC is an operating system-level virtualization system for running multiple, isolated Linux instances on a single computer. LXC does not use virtual machines, but creates a virtual environment with its own process space and network stack. All LXC instances use the same OS kernel instance.
Key features of Docker
File system isolation: each process container operates as a completely separate root file system.
Resource isolation: system resources like CPU and memory can be allocated differently for each process container using cgroups
Network Isolation: Each process container works in its own namespace, with a virtual interface and its own IP address.
Copy on write: root file systems are created by copy on write, which allows you to deploy containers extremely quickly without using much memory or disk space.
Logging: standard streams (stdout / stderr / stdin) of each process container are logged and saved for later analysis.
Change management: changes made to the file system of one container can be applied to a new image and reused for other containers. No longer need templates and manual configuration.
Interactive console: Docker can connect pseudo-tty and standard input for any container
Docker is built on the AUFS file system, which has a copy-on-write function, and the Go programming language. ')