Sailor, a native and portable container system for NetBSD and Mac OS X
github.com
github.com
They also don't isolate anything. especially when the container system is running as root. Neither does chroot.
Alternatively, you could ship a kernel module that added these features (although that might be ridiculously complicated).
It seems to me that sailor is just a chroot, in other words it's just a jail with a bunch of stuff crammed in there to make it work. Just like 10 years ago on FreeBSD when you created a jail and had to make the system inside the jail to make it work.
Is this a joke?
There's a strong case to be made that you should not be trusting Docker containers for untrusted code; they're just also for configuration isolation, not security isolation. After all, Docker runs on top of the Linux kernel.... If you want to run untrusted code, put it in a VM (kvm, bhyve, Xen, whatever).
I'm arguing against this piece of software and examples it ships. Giving root to a trusted web app is not something sane.
Comparing Docker (or any Linux container using cgroups, like LXC) to chroot is not accurate.
That is, I am not saying that Docker is bad at security; I am saying that caring about how much security it provides is using the wrong tool for the job.
Usually "everything running on tbe system" is trusted code. The threat would be a bug in your software that allows remote code execution and could potentially be combined with a kernel bug to achieve privilege escalation.
The game changes significantly when you're giving arbitrary user-supplied code immediate access to make kernel calls. Now you're only one bug away from game over. And you're trusting the security of your whole system with a mechanism that wasn't really designed for security against untrusted code in the first place.
e.g.: npm, go get, *brew (in particular, Homebrew, OMG; goddamned thing installs everything, from webservers to databases, to run as the same user with little warning about what kind of consequences that has), etc.
People do stupid shit all the time with their software deployments, is what I'm trying to say.
I just didn't want people to think Docker (or other Linux containers) are comparable to chroot. They really aren't the same thing.
There are well-known, and well-understood, automated methods of providing a (mostly) trustworthy source for software installation. RPM+yum on CentOS, deb+apt-get on Debian/Ubuntu. The packages can be signed and verified (so you know you're getting what the vendor packaged), the OS-standard sources are open source and easy for third parties to check and used on millions of machines (so you know manipulation is likely to be spotted quickly), easy to verify the versions you have with one command, easy to update to newer versions when security issues arise, easy to verify the files currently installed match (or don't) the ones that the package shipped with. And, it is relatively easy to package ones own tools and put them into a local repository, using the same methods to insure safe delivery to all of your systems.
I understand using other methods of locally providing packages. And, I understand that sometimes you have to go outside the vendor provided packages (and can't build your own, using the same best practices). But, to imagine that you can/should trust a big blob of data grabbed from the internet and splooshed onto your system (sometimes as root!) using a pipe to /bin/sh, is ridiculous. Don't do that in an automated fashion without explicitly checking out what you're being delivered. And, I would probably opt to host my own private repo of those things, so that I can re-verify any time there are changes before they get splooshed out to all of my systems.
This is basic operations stuff here, and yet folks keep reinventing the wheel, poorly, and aggressively marketing it as a superior wheel.
Your default examples elevate privilege, not warning the user about this fact anywhere.
I guess it's a misnomer to use the word "container", since that usually means things like Linux containers with security isolation almost as good as OS virtualization.
eg see http://www.slideshare.net/phdays/chw00t-breaking-unices-chro... slide 27