6 ms·
They're OCI images now, and Docker was largely a stolen idea from UNIXes* (unices?), including the term containers. As much as I like what Podman to open it up
by benatkin 2y ago
They're OCI images now, and Docker was largely a stolen idea from UNIXes* (unices?), including the term containers. As much as I like what Podman to open it up using Containerfiles and not defaulting to this, it might as well go even farther tweak the standard a bit - provide something like Dockerfile that's less golang-inspired and more linux-inspired, and improve the format for images - so the industry can move on from Docker lock-in.
* https://www.aquasec.com/blog/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016/ https://www.aquasec.com/blog/a-brief-history-of-containers-f...
- yencabulator 2y agoThere is nothing Go-like about Dockerfiles. The file naming seems to be an offshoot of Heroku's "Procfile" convention. I have no idea where the syntax came from, but it's superficially a very simple "SHOUTYCOMMAND arguments...\n" grammar with no structure beyond sequence-of-lines. Perhaps it's the more imperative cousin of the ".env" files popular with web devs.
- benatkin 2y agoI guess it's kind of like assembly where COMMAND foo is like INSTRUCTION foo. Maybe it just clicked for me and I can't think of a syntax I'd prefer for it. Which now has me wondering about modeling syntaxes for other things on it. For some reason it reminded me of the WAC model from WebAssembly component model https://component-model.bytecodealliance.org/creating-and-consuming/composing.html#advanced-composition-with-the-wac-language https://component-model.bytecodealliance.org/creating-and-co... No particular comparison, but I'd like to understand how constructing a container image might compare to constructing a wasm module from components.
- cpuguy83 2y agoGee thanks for explaining the container ecosystem to me. Docker wasn't stolen from anything. It built on top of existing things, even worked on new things, and provided a nice abstraction to everything. > provide something like Dockerfile that's less golang-inspired and more linux-inspired What? Is the thing that's golang inspired the image references? OK...
- benatkin 2y agoCo-opted it is what I mean by stole. The Dockerfile takes from golang IMO, it's intentionally very low on syntax. Just like go's text/template and html/template.
- cpuguy83 2y agoThat's what makes it approachable (though I don't agree it has an semblance to go other than "FROM <ref>" being fully qualified (minus the carve-out for Hub), but even then it can absolutely act more like a local import if you have an image with that ref locally (or you can even override it in your build command in a couple of different ways). Also note, Docker can build whatever format you want, it just defaults to the Dockerfile format, but you can give it whatever syntax parser you want.