As for ZFS support and Docker, it will be via sdc-docker[4], our (emerging) end-point for the Docker Remote API. The progress there has been swift and everything is being done in the open; expect to see something in production from us in this first calendar quarter.
[1] https://www.youtube.com/watch?v=TrfD3pC0VSs
[2] https://github.com/mame/quine-relay
Am I right to assume then that there isn't going to be a SmartOS/SunOS 'docker' client which can understand zfs+zones / replace vmadm/zoneadm? I had planned on looking into writing this when they announced the 'new' pluggable architecture some while ago..
Because, that would freakin' rock...
I've checked for name conflicts in related areas, in package repositories (FreeBSD ports, Debian's and Ubuntu's archives), major open source hosting services, and haven't found anything related. Let me know if I missed anything relevant.
I'm the team lead of the Jetpack plugin for WordPress. I've passed it upstream to our in-house counsel just for a cursory review should it conflict with trademark scope or something.
(What do I know, I'm a dev, not one of those lawyer-types)
(But as the Mozilla Jetpack thing existed before we did, and we both coexist, I'm not expecting a kerfluffle, but who knows -- I am not a Lawyer!)
If you must complain about a project called "Jetpack", point your arrows towards Wordpress[1].
Jails aren't that great: https://aboutthebsds.wordpress.com/2013/01/13/freebsd-jails-...
But there is Capsicum too: http://lwn.net/Articles/482858/
Would you do that? Why?
I'd love to see a source for just about anything that blog claims because it reads like FUD and contains some factual inaccuracies like chroot not being in FreeBSD by the time jails were added. It also doesn't seem to understand what the difference between the base and the kernel is in FreeBSD. Jails are implemented similarly to LXC/Docker by having a few syscalls in the kernal for namespace isolation and the bulk of the execution happening in userspace.
Capsicum and rctl are definitely on my list of things to look into (especially capsicum, it seems to be enabled in the GENERIC kernel configuration).
That aside, my approach with Linux/Docker is to have a "fat" host system that is open to the outside world, terminates SSL, load balances and proxies the containers' services (nginx), and provides global services are either shared between containers (Postfix smarthosting to Sendgrid, DNS cache, rsyslog), or services that can manage user/service isolation well enough on their own (PostgreSQL). Containers run mostly applications, or services that I need in multiple instances or versions.
I do containerize Redis, as it can't be safely shared across multiple services (no privilege isolation, too easy for one service to DoS the other with a blocking operation), but then I don't consider Redis to be a database – it's rather a "shared state server", kind of a more sophisticated memcached.
However, I understand the approach of CoreOS, which minimizes role of the host OS. In this model, host's only role is to support containers, and every other process needs to be containerized. From this point of view, Postgres is an application. This way, I can flexibly run multiple version of Postgres, try to upgrade it without needing to set up separate host service, and so on. Personally, I wouldn't feel comfortable with that, but I understand how it could be useful.
Regarding storage performance, database's data directory would need to be a volume anyway (to be able to upgrade database without trowing away the data). A volume is just a `mount --bind`, without any aufs layers, to any point of the filesystem, so it doesn't seem to me that i/o performance hit would be noticeable…
So for us, it makes much more sense to implement the Docker Remote API on top of SmartDataCenter, which has the added advantage of virtualizing the concept of a Docker host to be an entire datacenter. But again, we would be supportive of any effort to straight-up port Docker to SmartOS, and we are generally supportive of any container effort that is looking beyond the (mis)design of Linux containers (including the work linked to here for FreeBSD + ZFS).
[1] http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/