Live data from Hacker News

Tiny Linux distro that runs the entire OS as Docker containers

github.com

31–40 of 177 posts

Re: Tiny Linux distro that runs the entire OS as Docker containers

#31
post #26

This is starting to smell like a system on top of a system to fix something that could be fixed in the system. Kind-of like implementing a filesystem on top op a filesystem... or putting a database on a filesystem to run another filesystem inside the database, or using a webbrowser as a runtime instead of an operating system.

The whole notion of containers is basically this. That's why I am not sure why not just fix the OS. If there's anything to fix in the first place.

Containers are just unifying the concepts of namespaces and cgroups in to environments -- I'm not sure that there's a better way to do that at the OS level, as I enjoy the primitives being separate and having the potential to remix them as my understanding of containerization evolves. (Okay, so there's a few other things mixed in like SELinux settings.)

I think there's interesting ideas of environments in other operating systems, but I'm not seeing how you'd make things better by flattening containers into the OS, per se.

Re: Tiny Linux distro that runs the entire OS as Docker containers

#33

for the ignorant, why would I want to wrap docker inside docker?

This is not Docker-in-Docker. This is an OS that acts like a "container hypervisor". It provides the bare minimum for hardware interfacing and hosting containers, just as conventional hypervisor provide the bare minimum for hardware interfacing and hosting virtual machines. The benefit is that more system resources are available for your clients (containers, in this case). I haven't used RancherOS but CoreOS works mo…

I'd suggest that containerisation as a principle is fine, but its not what most people want.

What people want is a mainframe where a lump of code is guaranteed to run the same everytime, regardless of the machine state, and if something goes wrong with the underlying layer is self heals(or automatically punts to a new machine, state intact).

What we have currently is a guarantee that the container will run, and once running will be terminated at an unknown time.

Mix in distributed systems(hard) atomic state handling (also hard) and scheduling(can be hard) its not all that fun to be productive for anything other than a basic website.

Re: Tiny Linux distro that runs the entire OS as Docker containers

#34
post #26

This is starting to smell like a system on top of a system to fix something that could be fixed in the system. Kind-of like implementing a filesystem on top op a filesystem... or putting a database on a filesystem to run another filesystem inside the database, or using a webbrowser as a runtime instead of an operating system.

The whole notion of containers is basically this. That's why I am not sure why not just fix the OS. If there's anything to fix in the first place.

I always felt, perhaps uncharitably, that the point of containers was "those other programmers are idiots so we need to encapsulate everything for the sake of defense"

Re: Tiny Linux distro that runs the entire OS as Docker containers

#35

Earlier quoted context omitted.

Could you elaborate on the instability concerns? What kind of workload are you running on containers?

Sure. Here's one example that I've dealt with in the last week. We have a server that receives the logs from our kubernetes cluster via fluentd and parses/transforms them before shipping them out to a hosted log search backend thingy. This host has 5 Docker containers running fluentd receivers. This works OK most of the time, but in some cases, particularly cases when the log volume is high and/or when a bug causes e…

I think you are suffering a bit from the over-engineering of Kubernetes and Docker and throwing the baby out with the bath water. Containers in general are great for simplifying deployment, development and testing. We use docker currently and it works great, but we are using just docker and using it only as a way to simplify the above. We are deploying 1 application to 1 system (EC2 via ASG).

There is also nothing keeping you using Docker for containers. LXC also works great and it has no runtime, so you have none of the stability issues you can get with Docker. Though I must say Docker has improved a lot and I think it will stabilize and _it_ won't be an issue (not as sure about Kubernetes).

Re: Tiny Linux distro that runs the entire OS as Docker containers

#37

Didn't Docker release this themselves (different project) just a week or so ago? I forget the name, and can't seem to find it on their site.

There's definitely overlap in functionality between RancherOS and LinuxKit, but there are also a few pretty big differences. - LinuxKit seems designed to be a piece that can be used to build a Linux distro but isn't a full distro out of the box like RancherOS - As far as I know LinuxKit is still based on Alpine whereas RancherOS is custom and doesn't have much of a host filesystem - LinuxKit is based on containerd an…

LinuxKit is not based on Alpine - earlier versions before open sourcing were. We build our system containers from Alpine though, so there is still a connection. (I work on LinuxKit).

Re: Tiny Linux distro that runs the entire OS as Docker containers

#38
post #19
post #9

Earlier quoted context omitted.

no, it's the OS services that are dockerized. so your containers won't be docker inside docked.

I still don't see any clear reason for doing this. I mean, "because we can" is interesting in a sort of academic way I guess.

Containers compartmentalize runtimes with their dependencies, eliminate library and version conflicts. That's just one benefit.

Re: Tiny Linux distro that runs the entire OS as Docker containers

#39
Creator of RancherOS here. Thanks for the interest in our tiny distro. RancherOS was created the beginning of 2015 and at the time was quite a novel concept. We strived to not just use container technologies in a Linux distro but actually package everything as standard Docker containers. Fast forward two years, what we were doing back then is now becoming the accepted practice. Most major distro are adopting more container packaging approaches in the form of flatpak, snap, and containerd. RancherOS 1.0 LTS was just released a couple weeks back and we have started development on 2.0. 1.0 was a bit ahead of the time and honestly had to employ a lot of technics to make it work that we didn't like. With 2.0 we will shift the focus from Docker to containerd, OCI, and LinuxKit which will allow a much cleaner design.

Re: Tiny Linux distro that runs the entire OS as Docker containers

#40

Earlier quoted context omitted.

There's definitely overlap in functionality between RancherOS and LinuxKit, but there are also a few pretty big differences. - LinuxKit seems designed to be a piece that can be used to build a Linux distro but isn't a full distro out of the box like RancherOS - As far as I know LinuxKit is still based on Alpine whereas RancherOS is custom and doesn't have much of a host filesystem - LinuxKit is based on containerd an…

LinuxKit is not based on Alpine - earlier versions before open sourcing were. We build our system containers from Alpine though, so there is still a connection. (I work on LinuxKit).

Thanks for the correction! That's good to know.

We considered using Alpine as the base image for our system containers for a time. They're still built using Buildroot currently, though we're playing around with another project that we might use instead.

Post reply on HN