LXC - LXC vs Docker

LXC allows the creation and running of multiple isolated Linux virtual environments on a single control host.

A Docker container does not include a separate operating system; instead it relies on the operating system’s own functionality as provided by the underlying infrastructure.


LXCDocker
ArchitectureSupports a fully-virtualized Linux OS including boot-up procedures.Single image running as an application.
PurposesRun multiple applications in a single Linux VM.Run a single application within a single container.
RequirementsRequires a fully-functional Linux OS.Running isolated containers simultaneously.
AdvantagesA lightweight alternative to virtual machines.Rapid and easy deployment.
More flexible.Application-centric, portable deployment across machines.
Data can be saved in a container.Component re-use.
Versioning: Docker includes git-like capabilities for tracking successive versions of a container, inspecting the diff between versions, committing new versions, rolling back etc.
Component reuse: Docker allows building or stacking of already created packages. This allows re-use of a 'template' image, for creating other containers.
Shared libraries: There is already a public registry (http://index.docker.io/ ) where there are many thousands of containers that can be used; which have been created by other people. WARNING: These are not all secure; with many trojans!