Este é um tópico confuso porque não é uma coisa que "fornece conteinerização". Os contêineres são um conceito geral implementado no kernel Linux usando namespaces para isolamento de processos, cgroups para gerenciamento de recursos e possivelmente mais - como o SELinux para segurança.
As ferramentas lxc
são uma interface possível para isso - você pode pensar nisso como um front-end, embora possa ser melhor pensar nisso como "front-end plus glue". libvirt-lxc
é uma ferramenta semelhante, mas totalmente diferente, e systemd-nspawn
ainda outro.
E o Docker de contêineres hot-topic do linux é também uma camada de interface de usuário e cola, mas pode realmente ficar acima de vários outros backends, incluindo os itens acima - veja esta postagem de blog um pouco datada sobre o Docker 0.9 e, em particular, o gráfico explicando libcontainer .
Dan Walsh deu uma palestra sobre isso no Usenix '13, que pode ser útil: link (Isenção de responsabilidade: Dan é meu colega de trabalho na Red Hat.)