If you want app virtualization and packaging, I have been pretty intrigued by what I have found out experimenting with `snaps`.
The biggest issue for me that I have hit with LXD/LXC is that host-to-container mount sharing is not as easy...which means I had to do some workflow alteration for moving from `docker` containers to `lxd` ones for existing projects...but otherwise I have been really happy with LXD.
Edit: And just to be clear, host-to-container mount sharing is possible, I just had to work at it and slightly alter my workflow to get the best solution.