Historiquement Docker était une surcouche à LXC, jusqu’à la version 0.7 si mais souvenirs sont bons.
Et puis le développeur de docker ont eu pas mal d’écueils avec LXC, pas les même version suivant les distributions, des cassage d'API/ABI trop souvent et pas documenté et ils ont alors décidés d'implémenter leur propre solution en Go.
Et en dessous de libcontainer maintenant tu as runC (https://blog.docker.com/2015/06/runc/) qui est uniquement le runtime de container (sans toute la tuyauterie réseaux ). runC est du code Docker qui a était donné au projet Open Container Format de la linux fondation (dont docker est membre). C'est une réponse au "pseudo-standard" Rocket/Appc fait par CoreOS.
Y a aussi Ubuntu qui tente de vivre de son sponsoring de LXC en créant LXD.
[^] # Re: Ce n'est qu'une première étape.
Posté par Tangi Colin . En réponse au journal Docker 1.10 et les user namespace.. Évalué à 5.
Historiquement Docker était une surcouche à LXC, jusqu’à la version 0.7 si mais souvenirs sont bons.
Et puis le développeur de docker ont eu pas mal d’écueils avec LXC, pas les même version suivant les distributions, des cassage d'API/ABI trop souvent et pas documenté et ils ont alors décidés d'implémenter leur propre solution en Go.
Maintenant la "full picture" est plus complète, docker c'est l'API haut niveau qui est compatible avec plusieurs "backend", par défault ça utilise "libcontainer" mais tu peux aussi explicitement spécifier d'utiliser LXC ou LMCTFY (https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/). Et même un backend Windows maintenant (https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_docker).
Et en dessous de libcontainer maintenant tu as runC (https://blog.docker.com/2015/06/runc/) qui est uniquement le runtime de container (sans toute la tuyauterie réseaux ). runC est du code Docker qui a était donné au projet Open Container Format de la linux fondation (dont docker est membre). C'est une réponse au "pseudo-standard" Rocket/Appc fait par CoreOS.
Y a aussi Ubuntu qui tente de vivre de son sponsoring de LXC en créant LXD.
La prochaine "feature" de Docker qui risque de faire du bruit c'est un meilleur support du Checkpoint/Restore (http://linuxplumbersconf.org/2015/ocw//system/presentations/2619/original/2015-08-20-CRIU_Support_in_Docker_for_Native_Checkpoint_and_Restore.pdf).