116 points psxuaw 2 hours ago 42 comments
shykes 1 hour ago | parent
I'm happy to answer any questions you may have.
irishcoffee 1 hour ago | parent
skinfaxi 1 hour ago | parent
gradus_ad 1 hour ago | parent
shykes 1 hour ago | parent
So, not only did I not anticipate this kind of success, I did not even have a reference frame for what success might even look like. All I knew was, I had an itch that I had to scratch, and I had nothing better to do :)
Waterluvian 1 hour ago | parent
ak217 14 minutes ago | parent
I think the breakthrough with Docker was bundling the AUFS-based image layer format with a centralized container image sharing registry. This was revolutionary at the time. But another huge element of success was Solomon and others evangelizing the technology relentlessly at meetups and conferences. I distinctly remember attending a demo in 2012 where the crowd was very excited to see the Docker workflow that we now take for granted, in large part because Solomon was so good at presenting it. At the time, I was working at a cloud PaaS company where we developed a similar technology on top of LXC and BTRFS (but no image registry). Docker really made me think hard about what we were doing, although I didn't end up making any moves.
https://jpetazzo.github.io/2017/02/24/from-dotcloud-to-docke...
hack1312 10 minutes ago | parent
ecliptik 49 minutes ago | parent
When Docker came out it solved so many issues we were having. Thank you for scratching that itch.
xtracto 41 minutes ago | parent
I didnt get it at that time haha.
layer8 1 hour ago | parent
figmert 1 hour ago | parent
You may have already answered this somewhere, so feel free to tell me what to search for or if you have a link to hand, that works too :)
bijmtir 23 minutes ago | parent
iJohnDoe 13 minutes ago | parent
miladyincontrol 9 minutes ago | parent
lostlogin 7 minutes ago | parent
shykes 4 minutes ago | parent
Docker in its earlier incarnations was based on openvz, which predates lxc. The lxc project was initially a kernel development project: a collection of kernel patches to add container support. The userland tool was just a companion. When it became apparent that these patches would "win" the race to be upstreamed even though openvz was much more mature, we switched our tooling to lxc. The patches matured over time, but the userland tool (what we now know as "lxc") was finicky.
The original open-source release of Docker wrapped lxc for low-level container operations. But it was just too unreliable and we swapped it out for an in-house Go implementation called "libcontainer".
okanat 1 hour ago | parent
shykes 1 hour ago | parent
None of these things can be transposed today, so I guess I can't answer...
For what it's worth, my current project (dagger) is written in Go.
Tenemo 59 minutes ago | parent
craftkiller 13 minutes ago | parent
xyzzy_plugh 11 minutes ago | parent
Docker syntax is one of those things that just immediately falls out of my head when I close the editor. I don't care about it at all.
Even better: there are many, many tools that build OCI images without using the Docker syntax. I haven't hand-written a Dockerfile in at least six years.
LLMs have not loved the needle here in my sphere, it was already bouncing off of the zero on the gauge.
edit: this isn't to say the syntax is good or bad (though there are several questionable parts of it) but extremely simple, and concise enough that you can just look up literally any command with great ease. It's surely a large part of its success, for better or for worse.
davnicwil 55 minutes ago | parent
I remember my first time trying to use a container was about 2015 on a beach cafe's wifi in Bocas del Toro, Panama. You can imagine how it went...
After a brief hiatus though I was back to it and since then it's been a core part of many a local dev stack and even production stack (compose) I've set up. I recall the magic moment for me being when I first realised you could mount src to use all your local native dev tools while completely virtualising everything else, including and especially whatever combo of runtimes and dependencies you need.
It was just a lightbulb moment, like it entirely solves 'works on my machine', setting new people up on a project, it just seems like how software engineering ought to work and once you have experienced it it's difficult to go back.
I'm curious, as its creator are you still using it, or as someone who can clearly look ahead to experimental ways of doing things are you on to the next thing whatever that may be? If so, what is it? :-)
Fabricio20 44 minutes ago | parent
999900000999 5 minutes ago | parent
For one, did you get rich beyond all comprehension and did you start a band with your wealth?
Second, do you still program ?
I was lucky enough to get in this industry when Docker was new. Sure beats trying to figure out why X happens on machine A and doesn’t on machine B.
suprjami 1 hour ago | parent
Knowing this, you might find rootless Podman's fork-exec method of starting containers to be more sensible. I certainly do. No root, no daemon, no socket.
If you want to learn more about the Linux Kernel namespaces which work together to make a container, this LWN series is really good: https://lwn.net/Articles/531114/
QGQBGdeZREunxLe 1 hour ago | parent
Containers From Scratch • Liz Rice • GOTO 2018
tyingq 1 hour ago | parent
[1] "Docker implemented in around 100 lines of bash" https://github.com/p8952/bocker
gzapp 1 hour ago | parent
One of the gnarliest issues I recall was where network namespaces could occasionally not be cleaned up correctly. So "randomly" (but more likely under certain loads) the networking of a reused thread would get jacked and Docker could no longer pull images.
j16sdiz 40 minutes ago | parent
Everything in that list feel natural when you know how things evolves over many years. Maybe it is just me getting older and less curious.
paxy 37 minutes ago | parent
stingraycharles 36 minutes ago | parent
assimpleaspossi 33 minutes ago | parent
And folders are graphical representations of directories--sometimes, not always--and not directories themselves. When will the newbies get this?
sophacles 15 minutes ago | parent
slowin 33 minutes ago | parent