This does a pretty good job at explaining how containers work, but the author seems to equate LXC with LXD, and doesn't even mention LXC once. If I remember correctly the actual container part of Linux containers (doing cgroups/namespaces) is LXC, then LXD is a management daemon frontend on top of that? I think a lot of people do use LXD as their frontend rather than interacting with LXC directly (especially Ubuntu users, since they seem to steer you that way), but if you're going to do a deep dive into containers like this it's a pretty huge omission not to explain the difference. Another really cool security feature of LXC they also could've mentioned was unprivileged/rootless containers.
Personally I had a very hard time with Linux Containers when using LXD and prefer using LXC directly. I can see why it's supposed to be user-friendly but it always reeked of Ubuntu bloat to me.