LXD FTW
The only one you really need is LXD. Just ignore all the others, unless some outside influence forces you to muck with them. There is no point to Docker. LXD can do everything Docker can do, plus a whole lot more, with very little added overhead. And you get normal syslogging and all the other normal init management. You don't have to adopt a whole other way of operating inside the container.
LXD is just as useful as KVM or Xen, as long as you are just virtualizing linux inside linux - but with much less overhead.