Live data from Hacker News

Tiny Linux distro that runs the entire OS as Docker containers

github.com

141–150 of 177 posts

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

#141
post #138
post #135

Earlier quoted context omitted.

(I'm not saying this is a good thing but ...) Containers are often used where you want to run several programs, but each depends on a mutually incompatible set of libraries. Two programs need python-somelib-1.0 and python-somelib-2.5, but both versions can't be installed at the same time. Or you need to upgrade the programs at different times and during the upgrade window they'd depend on different versions of python…

You forgot possibility (d) allow multiple library versions to be present simultaneously.

See: Virtualenv (for Python), Snappy, Flatpack

The main advantage of docker, as far as my understanding goes, is more of a prebuilt system configuration thing. Need a database? Load the prebuilt PostgreSQL image onto the respective machine.

One thing I think should get more use in general is that Dockerfiles are essentially completely reproducible scripts[1]. Too many companies I've seen still use Word documents full of manual steps one can easily get wrong for all their machine setups (especially in the Windows world). If you want to test something quickly, you're bogged down for a day.

[1]: example: https://github.com/kstaken/dockerfile-examples/blob/master/m...

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

#142
post #63
post #17

Earlier quoted context omitted.

Unfortunately, systemd/nspawn does not benefit from the hype Docker garners, despite being infinitely better. This industry is becoming more and more hype and cargo-cult driven, instead of making sane technological choices

>despite being infinitely better How and why? You're being condescending. I like Docker and if anything you make me not want to try systemd-nspawn with this attitude.

[deleted]

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

#143
post #63

Earlier quoted context omitted.

>despite being infinitely better How and why? You're being condescending. I like Docker and if anything you make me not want to try systemd-nspawn with this attitude.

Great job proving the second part of what he said

Well, between a good technology with a lot of hype and a better technology with no hype except for a few condescending people, how am I supposed to chose the latter? Tell me.

I just read the ArchWiki page on systemd-nspawn[1] and I fail to see how it is any better by the way. It just looks way harder to use (Docker images vs packages, scripts and per distro instructions ; docker create, docker start, docker ps, docker logs vs pacstrap, systemd-nspawn, machinectl, journalctl) and honestly not very different technically. systemd-nspawn just looks like a less user-friendly Docker to me.

[1]: https://wiki.archlinux.org/index.php/Systemd-nspawn

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

#144

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.

This kind of thing happens when the base system is ubiquitous and therefore hard to change. It's easier to layer something on top of the base, where people can "opt in" and there's a large preexisting compatible audience. Changing the base layer itself at a minimum requires people to upgrade, and now you don't have that advantage of the preexisting audience anymore. If your improvement requires a breaking change, the…

The reason a new layer is being built is because people don't want vendor lock in and VM's aren't portable anymore.

You can't take an AWS VM and fire it up on DigitalOcean without trial by fire. VM's should be portable but they're not because cloud providers don't want them to be.

For a while everyone was locked into AWS but now that there's other options some companies want to hedge their bets, or even run parts of their workload locally.

Since the VM space is all proprietary now people are moving one level up and building a consistent environment above it. I fully expect docker to become proprietary in a couple years and the cycle will begin again.

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

#145
post #138

Earlier quoted context omitted.

You forgot possibility (d) allow multiple library versions to be present simultaneously.

See: Virtualenv (for Python), Snappy, Flatpack The main advantage of docker, as far as my understanding goes, is more of a prebuilt system configuration thing. Need a database? Load the prebuilt PostgreSQL image onto the respective machine. One thing I think should get more use in general is that Dockerfiles are essentially completely reproducible scripts[1]. Too many companies I've seen still use Word documents full…

Over the last 15 years I've built and maintained Linux distros using apt, with custom debs and pressed files which handle configuration, automatic upgrades for most systems, and a small shell script and ssh for the rest.

Now it's all docker rather than packages, ansible (which leaves no trace of what it's doing on the target machine) rather than a for I in 'cat hosts'. Fine, but where's the benefit?

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

#146
post #143

Earlier quoted context omitted.

Great job proving the second part of what he said

Well, between a good technology with a lot of hype and a better technology with no hype except for a few condescending people, how am I supposed to chose the latter? Tell me. I just read the ArchWiki page on systemd-nspawn[1] and I fail to see how it is any better by the way. It just looks way harder to use (Docker images vs packages, scripts and per distro instructions ; docker create, docker start, docker ps, docke…

Would you prefer if all those command were prefaced with `systemd`? Because that's all there is to it do docker in your example then.

You're seeing condescension where there is none. I'm just pointing out facts. It's okay, Docker runs on hype, and apparently so do you. But then, I can't expect Red Hat to invest into advertising for a core system component, because developers ought to be aware of it.

nspawn also offers faster startup time, better integration with cgroups and chroot jails, etc.

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

#147
post #34
post #26

Earlier quoted context omitted.

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"

Do you feel the same way about visibility in OOP? E.g. private data and methods?

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

#148

Earlier quoted context omitted.

"Modern package management systems like APT spend a lot of effort installing and removing files, and they don't do it completely" Well, there /is/ another way to do it. STATIC LINK ALL THE THINGS Which would work if licenses and copyrights didn't exist.

> Which would work if licenses and copyrights didn't exist. I don't think it would. Dynamic linking allows a library to be patched once and have the patch apply to all the programs using it. If every program was statically linked, you would have to update each one individually. Not to mention the waste of space. I'm guessing much of that is moot these days, but IMHO it's still something to aim for.

Patch a library and perhaps you end up breaking some programs that rely on that library.

The benefit of that goes away with containers anyway, you don't share libraries, every instance gets its own install.

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

#149

Earlier quoted context omitted.

You can go whole hog with "containers" by just adopting unikernels. But, unless you are willing to abandon Linux/Unix, this is kinda where you are left.

How would that work when containers make kernel calls?

Where containers would make kernel calls, unikernels make calls to the VM hypervisor. (Not exactly, but kinda.)

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

#150
post #92

Earlier quoted context omitted.

If you have machines with unused capacity, why would deploying a docker container image be easier than deploying a RPM package?

Because either there is no RPM or the RPM conflicts with other RPMs on the machine.

There is software collections for RPMs, which is basically namespacing. Can have quite an operational overhead if the thing you want to install has a lot of dependencies though.
Post reply on HN