Before the introduction of cgroups and namespaces, the isolation consisted to use chroot(). But this was insufficient from a security point of view. As only the file system was isolated. And it is possible to escape from a "chrooted" environment.
This link provides an history of the containerization techniques in the Unix/Linux world.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…