Live data from Hacker News

Docker without Docker

chimeracoder.github.io

41–50 of 101 posts

Re: Docker without Docker

#43

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 for putting this presentation.

Always nice to cut through the hype and see how things really work. I knew Docker used namespacing for some quasi-virtualization, but was wary of using it because I haven't had time to dissect it on my own. You're a good writer, able to get a lot of information across in an engaging way.

Re: Docker without Docker

#44
Use LXC and LXD. It's the best of both worlds. Docker is very limiting and already falling short in features. For instance daemon must run as root which sucks. LXC supports unprivileged namespaces so all users of a system can have their own set of containers. Docker insists on being the parent process, That means when docker dies, so do all your containers.. This is really bad...

Re: Docker without Docker

#46
post #38

Earlier quoted context omitted.

I am not sure what you are talking about. I am talking about this: "Within 9 days, all of the top 10 Linux distributions will use systemd by default, or descend from one that does." https://chimeracoder.github.io/docker-without-docker/#1

What they mean is when the slides were made, Debian 8 was about to be released in "stable" with systemd. With debian 8 released the only oddball is ubuntu with their own early fork of systemd called upstart. It means from this day forward the things you see in the demo are already or inevitably available on every install of linux. You don't need to install anything special to do what he's doing there. http://upload.w…

1. Upstart is not a fork of systemd, and was started a fair amount of time before systemd. 2. Ubuntu 15.04 just shipped with systemd as the default init system (although installing "upstart-sysv" the system should revert to using upstart).

Re: Docker without Docker

#47
post #35
post #22

Earlier quoted context omitted.

uses Go slide format. See: https://groups.google.com/d/msg/golang-nuts/fzr3pebUBBM/Ehat...

The link in there is to code.google.com and now defunct. After a bit of poking about: https://github.com/golang/talks is a bunch of talks. https://github.com/golang/tools/tree/master/cmd/present is the present command. http://godoc.org/golang.org/x/tools/present is the documentation.

Be aware that the generated slides are not very mobile-friendly. There are much better tools out there.

Re: Docker without Docker

#48

Use LXC and LXD. It's the best of both worlds. Docker is very limiting and already falling short in features. For instance daemon must run as root which sucks. LXC supports unprivileged namespaces so all users of a system can have their own set of containers. Docker insists on being the parent process, That means when docker dies, so do all your containers.. This is really bad...

How do you get boot2LXC working? Any docs, or does everyone have to DIY it all again?

Is there an ecosystem around LXC that provides things like Flynn?

I can do it all myself, but I can't do it, my development job, and be home for dinner at night. Like most tools today, the value is in the ecosystem, not the tool itself.

Re: Docker without Docker

#49
post #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.

I'm not sure how you'd manage upgrades - that's an OS function, but for nspawn you'd just write your unit file to Require some *.mount files before boot.

Re: Docker without Docker

#50
post #11
post #4

What's old is new. You're describing containers I think.

Or chroots, jails, libvirt-sandbox, etc etc.

chroot's aren't namespaced, which is a big important difference. Being able to kill the entire container by killing it's init process (and keep it's processes out of the host namespace) is a huge deal.
Post reply on HN