Container jutsu

Linux containers are all the rage, with Docker, rkt, lxd, etc. all in market to various degrees. You have companies like Docker, CoreOS, and Rancher all vying for mindshare, not to mention some of the plumbing bits by google and many others.

I don’t think they are a fad, there is much that is good with containers, when they are done right.

To see how they are done right, have a good hard long look at SmartOS. There are many good things here, and a few bad things. The good things are a good underlying file system that is (to a degree) built with zones in mind, a high level integrated zone concept. The bad things are, well, drivers. And a somewhat incompatible user space relative to Linux.

Now look at Docker et al. These are control planes (really, that is it) for a set of technologies that need to play well together. This isn’t a bad thing, but building control planes, correctly, is hard enough as it is, without adding odd corner cases, strange bugs, and toss in some good, old fashioned distro snobbishness.

I’ve been working on our v2 SIOS for a while now, trying to get a better integration of Docker and other things in there. We may eventually move to rkt for our work.

What I really like … as in really REALLY like, is RancherOS. It is almost SmartOS on linux. Almost. So close. But its a bit early, and it has some rough edges, but we are keeping our eye on it, as we should be able to use it once a few more things mature. Whats really cool about RancherOS is that the whole OS is running as a docker (global zone in the SmartOS context). You light up services in containers (again, like zones in SmartOS). The system boots up very fast, and starts its services, with similar mechanisms to SmartOS for state preservation. There are a few minor things, and we’ll be working with it in the lab from time to time to see if we can easily adapt everything to it.

For the moment though, we are sticking with the Debian 8.x base. RancherOS is actually Ubuntu 14.04 reworked, so its not that different.

The Debian base lets me add some things into my image that I can’t easily make work just yet with RancherOS. But I also run into some … er … fun things. Like this bug.

This said, we’ve got some things we are planning on for SIOS v2 going forward. Enhancing our container/VM support is very high on the list.

Viewed 28167 times by 1806 viewers