Earlier quoted context omitted.
Docker is a genius idea which looks obvious in retrospect, but someone need to invent it. Docker is more than just chroot. You also need: overlay file system; OCI registry and community behind it, to create thousands of useful images. And, of course, the whole idea of creating images layer by layer and using immutable images to spawn mutable containers. I don't actually think that you need network or process isolatio…
network isolation is very important too, that’s what lets people run 4 containers all listening on port 80 process isolation is less prominent
How Container Filesystem Works: Building a Docker-Like Container from Scratch
11–20 of 34 posts
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#12Earlier quoted context omitted.
FreeBSD has had jails since version 4 (~year 2000), fwiw. Much of the technology was there, but Docker was able to achieve a critical mass, with streamlined workflows. Perhaps as much a social phenomenon as a technical one?
I think the real genius of Docker was the image packaging. The pieces were there but delivery and scripting it all wasn't easy.
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#13We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?
FreeBSD has had jails since version 4 (~year 2000), fwiw. Much of the technology was there, but Docker was able to achieve a critical mass, with streamlined workflows. Perhaps as much a social phenomenon as a technical one?
The big pain with jails for me was the tooling. There was a number of non-trivial steps needed to get a jail that could host a networked service, with a lot that could go wrong along the way.
Sure a proper sysadmin would learn and internalize these steps, but as someone who just used it now and again it was a pain.
Way down the line things like iocage came along, but it was fragile and not reliable when I tried it, leading to jails in weird states and such.
So I gave up and moved to Linux so I could use Docker.
Super easy to spin up a new service, and fairly self-documenting as you just configure everything in a script or compose file so much less to remember.
Initially in a VM on Bhyve, now on bare metal.
It feels a bit sad though, as jails had some nice capabilities due to the extra isolation.
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#14We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?
FreeBSD has had jails since version 4 (~year 2000), fwiw. Much of the technology was there, but Docker was able to achieve a critical mass, with streamlined workflows. Perhaps as much a social phenomenon as a technical one?
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#15We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?
Chroot has significantly less isolation than Linux namespaces as used by Docker.
The one thing people really seem to miss on them is like, contrary to popular belief you dont need a whole OS container there, minimal distroless containers work just fine with systemd-nspawn similar to as they would on docker.
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#16Earlier quoted context omitted.
Docker is a genius idea which looks obvious in retrospect, but someone need to invent it. Docker is more than just chroot. You also need: overlay file system; OCI registry and community behind it, to create thousands of useful images. And, of course, the whole idea of creating images layer by layer and using immutable images to spawn mutable containers. I don't actually think that you need network or process isolatio…
network isolation is very important too, that’s what lets people run 4 containers all listening on port 80 process isolation is less prominent
The only thing that you need is the ability to configure a target application to choose address to bind to. But any sane application have that configuration knob.
Of course things are much easier with network namespaces, but you can go pretty far with host network (and I'd say it might be easier to understand and manage).
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#17We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?
FreeBSD has had jails since version 4 (~year 2000), fwiw. Much of the technology was there, but Docker was able to achieve a critical mass, with streamlined workflows. Perhaps as much a social phenomenon as a technical one?
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#18We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?
Docker is a genius idea which looks obvious in retrospect, but someone need to invent it. Docker is more than just chroot. You also need: overlay file system; OCI registry and community behind it, to create thousands of useful images. And, of course, the whole idea of creating images layer by layer and using immutable images to spawn mutable containers. I don't actually think that you need network or process isolatio…
Re: How Container Filesystem Works: Building a Docker-Like Container from Scratch
#19We had chroot since 1979, nobody managed to build a docker like wrapper for chroot which do not require netns?