992
You know who you are (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] jk47@lemmy.world 10 points 1 year ago

Is that still true? I use Linux but my coworker said docker runs natively now on the M1s but maybe he was making it up

[-] declination@programming.dev 9 points 1 year ago

I suspect they meant it runs natively in that it’s an aarch64 binary. It’s still running a VM under the hood because docker is really just a nice frontend to a bunch of Linux kernel features.

[-] Dohnakun@lemmy.fmhy.ml 1 points 1 year ago

docker is really just a nice frontend to a bunch of Linux kernel features.

What does it do anyway? I know there's lxc in the kernel and Docker not using it, doing it's own thing, but not much else.

[-] declination@programming.dev 3 points 1 year ago

I can't remember exactly what all the pieces are. However, I believe its a combination of

  • cgroups: process isolation which is why you can see docker processes in ps/top/etc but you can't for vms. I believe this is also what gets you the ability to run cross distro images since the isolation ensures the correct shared objects are loaded
  • network namespaces: how they handle generating the isolated network stack per process
  • some additional mount magic that I don't know what its called.

My understanding is that all of the neat properties of docker are actuall part of the kernel, docker (and podman and other container runtimes) are mostly just packing them together to achieve the desired properties of "containers".

load more comments (2 replies)
load more comments (2 replies)
load more comments (5 replies)
this post was submitted on 03 Jul 2023
992 points (98.2% liked)

Programmer Humor

19207 readers
1179 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS