Lehetséges hogy a BSD-s jail-ből indult ki, igazából sose néztem utána honnan jött, de jelen állás szerint én azt látom hogy jóval megelőzte a Linux kernelben lévő namespaces. Nem fogalmaztam egyértelműen korábban, konténer alatt én nem a Docker-t vagy bármilyen más erre épülő szoftvert értettem, hanem a Linux kernel-ben rejlő namespace, amivel könnyedén megoldható a szeparáció és az erőforrás limitáció.
Mivel ugye webhosting-ról beszélünk, ezért fontos, hogy az erőforrás limitálva legyen, amit a hivatalos Wiki szerint a Jail nem tud nyújtani jelenleg: https://wiki.freebsd.org/Jails
A Docker-es résszel egyetértek, annak megvannak a biztonsági kockázatai, pláne ha valaki eszetlenül használja, de az általam említett technológia nem használ dockert, sőt még csak httpd-t se futtat minden usernek. A httpd-nek van egy beépülő modulja, ami indítja a kernel szinten szeparált környezeteket, majd ezt fenntartja addig ameddig szükséges (konfigba beállított). Az hogy ebben el van-e indítva a PHP (vagy más értelmező) az részletkérdés (így lehet erőforrást spórolni, hogy csak bizonyos ideig marad és utána leáll, így a namespace-t nem kell újra felhúzni amikor legközelebb jön a lekérés). Tehát az overheadje lényegében memória, meg diszk terület, de ez nem túl sok gigában mérhető egyik esetében sem.
És abszolút, vannak olyan helyzetek ahol nem alkalmazható, ahol más a szempont mint a biztonság és a userek szeparáltsága, de a webhosting esetében, úgy hogy már a sok év alatt én is végigmentem mindenféle opción a POSIX limitációtól azon keresztül hogy a PHP forrásába volt beleírva a chrootolás, én személy szerint a kernel szinten történő szeparációt tartom a legjobb és legbiztonságosabb megoldásnak most. Aktívan fejlődik és annyira mélyen van a kernelben, hogy ha nem konfigurálja el az ember, akkor jó eséllyel megkerülhetetlen (persze hacsak nem valamilyen kernel exploit van).