Rereading the zones paper now makes me cringe, but I was in my 20s, what can I say. I think the argument we made that holds up is that this was designed to be a technology for server consolidation, and the opening section sets some context about how primitive things were in Sun's enterprise customer base at the time.
I have a lot of admiration for what Docker dared to do-- to really think differently about the problem in a way which changed application deployment for everyone.
Also I can tell you at the time that we were not especially concerned about HP or IBM's solutions in this space; nor did we face those container solutions competitively in any sales situation that I can recall. This tech was fielded in the wake of the dot-com blowout-- and customers had huge estates of servers often at comically low utilization. So this was a good opportunity for Sun to say "We are aligned with your desire to get maximum value out of the hardware you already have."
It's a blast to see this come up from time to time on HN, thanks.
I had done the packaging work (like what Docker has done) as part of experiments with Belenix. I used puppet and rpm5 (that I had ported to Belenix) to ensure idempotency, and used ZFS snapshots for the layers. Unfortunately, life happened and I did not take the work live.
Yes, technology wise, I think it could have been done; once I left Sun/Oracle I stopped paying attention, so I can't speak to what else was done later.
CP-67 was a hypervisor, a different model altogether to the chroot/jails/zones/linux namespace evolution, the sidequest of HP Vaults and various workload partitioning schemes on systems like AIX, or the grand-daddy of chroot line, Plan 9 namespace system.
Thank you, somehow I missed the part of the history! Yes indeed, chroot() starts in 1979 patches ontop of V7 kernel. Plan9 namespaces probably evolved from there as Research Unix V8 was BSD based.
https://www.youtube.com/watch?v=hgN8pCMLI2U