a chroot is different, but it’s an easy way to get an idea of what docker is:
it also contains all the libraries and binaries that reference each other, such that if you call commands they use the structure of the chroot
this is far more relevant to a basic understanding of what docker does than explaining kernel namespaces. once you have the knowledge of “shipping around applications including dependencies”, then you can delve into isolation and other kinds of virtualisation
don’t forget the original comment though: unable to upgrade without reinstall, and glibc incompatibility
i’m not saying that changes the latter comment, but it’s certainly far from the experience for every single person every single time… windows is like macdonalds: it’s the same horrible thing every time but it’s consistent