Live data from Hacker News

Docker without Docker

chimeracoder.github.io

11–20 of 101 posts

Re: Docker without Docker

#12

Author here - I'm working on a blog post for this and didn't expect this to be posted on HN so soon, but I guess that's what I should expect for posting a link to it in another HN comment! :) These slides correspond to a workshop I conducted a week ago demonstrating the internals of Docker and how Docker containers can be run without using any of the Docker tools or runtime. Docker is a great tool, and I'm glad it's…

Thank you so much for the slides - even though I've been following the Docker/Rkt/LXC developments ever since Docker came out (albeit passively), this is the best resource I've come across that explains what happens internally in an easy to grok manner. The fact that you can do nearly everything in systemd is indeed a bonus.

I'm sorry if I jumped the gun before the blogpost was ready. :) Hopefully, the discussion will help even more!

Re: Docker without Docker

#13
You may want to mention that the network and disk isolation are not what someone from Docker would expect by default.

It uses the docker equivalent of "net=host" (which provides better performance at the cost of isolation), and the disk is pointing at a shared "changeroot" on disk, instead of at a layered FS.

Both of these can be better isolated with natted interfaces and a `btrfs` (which has its own reliability issues) layered image, but they are not what you expect by default.

Re: Docker without Docker

#14

Author here - I'm working on a blog post for this and didn't expect this to be posted on HN so soon, but I guess that's what I should expect for posting a link to it in another HN comment! :) These slides correspond to a workshop I conducted a week ago demonstrating the internals of Docker and how Docker containers can be run without using any of the Docker tools or runtime. Docker is a great tool, and I'm glad it's…

Thank you so much for the slides - even though I've been following the Docker/Rkt/LXC developments ever since Docker came out (albeit passively), this is the best resource I've come across that explains what happens internally in an easy to grok manner. The fact that you can do nearly everything in systemd is indeed a bonus. I'm sorry if I jumped the gun before the blogpost was ready. :) Hopefully, the discussion wil…

> this is the best resource I've come across that explains what happens internally in an easy to grok manner.

Thanks! I really appreciate that.

> I'm sorry if I jumped the gun before the blogpost was ready. :)

Nah, it's cool - if anything it creates even more social pressure not to procrastinate writing it!

Re: Docker without Docker

#15

tl;dr It's basically a tech demo for systemd, and the systemd-nspawn tool in particular (which you might recall recently gained Docker format support).

Yep, and not particularly interesting. It is a catchy title and some showcase for Systemd.

Re: Docker without Docker

#17
that's a good intro to systemd-nspawn and machinectl - which happen to be much nicer to use than docker (yet transparently work with docker images if you want that). its also easier to install since you generally "already have it" and there's no setup.

There's a few things it doesn't do (neither docker, or lxc for that matter) - yet at least - such as mounting fses before container start or manage upgrades.

Re: Docker without Docker

#18

Author here - I'm working on a blog post for this and didn't expect this to be posted on HN so soon, but I guess that's what I should expect for posting a link to it in another HN comment! :) These slides correspond to a workshop I conducted a week ago demonstrating the internals of Docker and how Docker containers can be run without using any of the Docker tools or runtime. Docker is a great tool, and I'm glad it's…

Looking forward to reading that! I was only introduced to Docker on Monday, my first day at my new job, but I've already enjoyed the adventure of incorporating it into our deployment process.

Re: Docker without Docker

#19
This is almost exactly how we run the Ironic provisioning agent that supports Rackspace OnMetal. We export use Docker to build and export an image, then use CoreOS + systemd-nspawn to run it across every unprovisioned machine.

Re: Docker without Docker

#20
post #10

What is the actual difference here between using debootstrap and LXC?

debootstrap just populate a directory with files from the debian/ubuntu distros, LXC uses it, everyone who wants to create/boot a debian image that they create use it.

One major difference between systemd-nspawn and LXC is how simple and reliable systemd-nspawn - in particular the guest OS/image has to run systemd as well which is what provides the integration.

Eventually, if you wanted, you could mix and match the tools just fine.

Post reply on HN