Docker provides a high-level API to containerize unix processes and applications with some degree of isolation and repeatability across servers.
Docker is an open source project to pack, ship and run any application as a lightweight, portable, self-sufficient container. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, openstack clusters, public clouds and more.
Docker builds a high-level API over execution drivers, such as OpenVZ, systemd-nspawn, libvirt-lxc, libvirt-sandbox, qemu/kvm, BSD Jails, Solaris Zones, and chroot to run unix processes with some degree of isolation and repeatability across servers. The default execution driver since 0.9 release is Docker's own libcontainer driver.
See official website for details.