Docker by default uses their own libcontainer now but you can change that. In fact last time I checked it supported quite a few via execution drivers like OpenVZ, systemd-nspawn, libvirt-lxc, libvirt-sandbox, qemu/kvm, BSD Jails, Solaris Zones, chroot