Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Good resources on learning how docker works under the hood?
54 points by mohitmun on Dec 1, 2017 | hide | past | favorite | 15 comments
I'm using docker since a week now and I'm fascinated by it. Wanted to learn how it works under the hood.



Start with namespaces and cgroups. Once you realize that docker is basically a management interface over those, everything will click.

I’m trying to find a really good blog from years ago but having trouble. This looks good though: https://ericchiang.github.io/post/containers-from-scratch/


and chroot, too.


Docker uses pivot_root and not chroot, IIRC.


Super late to this thread but the best video I've ever seen on how docker/containers work is this one:

Jessica Frazelle's (docker core maintainer) talk on how to build containers in pure bash and C: http://containersummit.io/events/nyc-2016/videos/building-co...

There's also this one, which is similar: https://www.youtube.com/watch?v=HPuvDm8IC-4&t=1103s


I would recommend you to read the LWN series on namespaces. The articles are not very recent, but this low level part of docker (kernel namespaces) has not changed.

https://lwn.net/Articles/531114/


For a start I would recommend to listen to this podcast:

http://www.se-radio.net/2015/01/episode-217-james-turnbull-o...

And then for a more technical and practical view I would recommend this course:

http://shop.oreilly.com/product/0636920051350.do



Jérôme Petazzoni's talk on cgroups, namespaces, etc. I think he has given the talk a bunch of times, I saw it in person once, here is a video I found:

https://www.youtube.com/watch?v=sK5i-N34im8

He goes into cgroups, namespaces, etc. Then does a demo where is manually does what docker does, like untars an image, creates namespaces, creates the networking.


Docker in ~100 lines of bash: https://github.com/p8952/bocker

You'll see it is mostly gymnastics with cgroups, btrfs, pivot_root, and some networking commands.

Docker is neat, but it's just using functionality that's already there.


if youre a week in, youll find this helpful.

https://jvns.ca/blog/2016/10/10/what-even-is-a-container/


This video by Ben Corrie is an excellent expanation for what a container actually is.

https://www.youtube.com/watch?v=EnJ7qX9fkcU





Not really under the hood.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: