3 ms·
Author here. Containers always seemed a little magical to me. So I dug into how they work and then built a “container runtime” that only uses the change root sy
by adamgordonbell 4y ago
Author here. Containers always seemed a little magical to me. So I dug into how they work and then built a “container runtime” that only uses the change root sys call (Which has been in UNIX since the 70s).
This was not only fun, but took a way a bit of the magic, so I could better understand what’s going on when I use real containers.
Let me know what you think!
- PaulHoule 4y agoI would have voted this article up except for the meme images.
- adamgordonbell 4y agoI like to think images can break things up a bit, keep people engaged and summarize the main points in a fun way. Here's an article that is very heavy on 'voice' using images that I thought was a lot of fun: https://www.cockroachlabs.com/blog/raft-is-so-fetch/ https://www.cockroachlabs.com/blog/raft-is-so-fetch/
- PaulHoule 4y agoMeaningful images, yes. Meaningless meme images are just noise that make people close their earflaps. Myself, moving images at the edge of of my visual field are destructive of my ability to concentrate. If I was working at some place where people shared animated GIFs on Slack I'd have to apply for an accommodation for a disability. If you want everyone to feel included, no m̵e̵m̵e̵s̵.
- hotpotamus 4y agoI find that technology is a lot like magic - delightful and baffling when you're uninitiated, and mundane and boring once you learn the grubby details of how it's done. I believe it was Arthur C. Clarke who said that sufficiently advanced technology is indistinguishable from magic, so my insight is hardly a new one. As far as I can tell, what Docker did was to create a universal software packaging system within the Linux world. Thinking of them as a lightweight VM can be useful, but it's not the full picture.
- adamgordonbell 4y ago> As far as I can tell, what Docker did was to create a universal software packaging system within the Linux world. Yeah, for sure and containers are great. Namespaces, cgroups v2, runC, overlayfs, the OCI image format, and everything else in this space is impressive engineering. It’s incredible forward progress we can all take advantage of. But it's fun to peal back the layers and see it’s a long series of progressive refinements.
- hotpotamus 4y agoIf you ever watch "Connections" by James Burke (and everyone should), you'll see that basically anything we see as a breakthrough technology is really just a long series of progressive refinements - it's evolution all the way down. And nearly all the physical laws/effects/discoveries named after one person (for instance the Kuiper belt around our solar system) were actually discovered by groups of people working over time.
- musicale 4y agochroot is fine, though often I will also want resource limits (usually via cgroups) and an IP address (usually via network namespaces.) Often I don't even need chroot, just resource limits and an IP address - and the latter probably wouldn't be necessary with a distribution/proxy switch or if if DNS returned IP:port (which arguably it could.)