
Container OS comparison - kilimchoi
http://blog.codeship.com/container-os-comparison/
======
xj9
What about SmartOS? It's been container-native for, like, ten years and Joyent
just recently added support for running Docker containers on bare metal.

~~~
yellowapple
Seconding SmartOS. I haven't used it for running containers yet, but I've had
wonderful experiences with it running Zones and traditional VMs (mostly
OpenBSD, with a few Linuxen).

~~~
xj9
Triton is pretty sweet. Provisioning is a little slow, but everything is
blazing fast once its running.

------
davexunit
This focus on "container OSes" is baffling to me. Just use one of the well
maintained, general purpose distros such as Debian with a minimal set of
software. We don't need specialized distros for this.

~~~
vezzy-fnord
The current app container model as it is takes the form of binary images
managed by a de facto runtime that enforces namespace, cgroup and other
boundaries by using kernel subsystems for logical partitioning.

Unlike system containers like LXC, appc means you now have an explosion of the
state space whereby every container has their own independent copy of a host
OS, yet relies on the semantics of its container manager to function, i.e. it
is not easily introspectable with vanilla tools.

So you end up needing to build a small parallel userspace to handle things
like service discovery, orchestration and provisioning, networking bridges,
location transparency, resource scheduling and taken to its logical conclusion
you start running a user-mode kernel (Mesos) on top of a base OS kernel
(Linux) to provide further abstractions of OS resources and run extended
versions of OS processes called frameworks.

I don't know if it's too early to tell, but I think people might have dug
themselves into a ditch where in an attempt to escape the limitations of their
kernel and userland, they've only expanded it with a concurrent layer and must
maintain both.

~~~
jacques_chester
> _So you end up needing to build a small parallel userspace to handle things
> like service discovery, orchestration and provisioning, networking bridges,
> location transparency, resource scheduling_

Or you install a PaaS, which does these for you. I've worked on Cloud Foundry,
OpenShift is a competitor. Both are far superior to rolling your own.

------
jonasrosland
Author here if you have any questions on the content :)

~~~
pmelendez
I like this... it served well to get my feet wet about what is out there. It
would be nice having a chart comparing the pro and cons of those OSs. Maybe in
the future?

Thanks! :)

~~~
DaemonHN
Yeah, this seemed more like a listing of the operating systems than a
comparison.

~~~
jonasrosland
You're right, it's a list of the OSes and some of their strengths. I'd rather
not get into a container OS war on "which one is better", as I stated at the
beginning of the article it always depends on your needs :)

------
hendry
Archlinux with systemd-nspawn is my favourite container OS. Tools like
machinectl, networkctl, journalctl nicely integrated. Easy to manage multiple
processes in individual containers. Streaks ahead of the competition which are
seriously bloated by comparison.

------
senthilnayagam
smallest OS possible is no OS , second best which I use is tianon/true image
from docker registry, 125 bytes, with my compiled golang app as binary image
size under 5 mb,
[https://registry.hub.docker.com/u/tianon/true/](https://registry.hub.docker.com/u/tianon/true/)

reference
[https://github.com/senthilnayagam/godockersample](https://github.com/senthilnayagam/godockersample)

edit: added a implementation link

~~~
justincormack
This is talking about OSs to run containers not to run in them. And why do you
need true?

~~~
sime
Apparently AWS does not support the minimal Scratch image this is based on.

~~~
justincormack
You can create scratch with

tar cv --files-from /dev/null | docker import - scratch

------
npx
Alpine seems like a glaring omission.

~~~
vezzy-fnord
Alpine's a great distro, but it's not a container OS in the sense that's being
defined here.

