Live data from Hacker News

I don't like Docker or Podman

blog.liw.fi

71–80 of 92 posts

Re: I don't like Docker or Podman

#71
post #37

So here's the thing: Docker is the best way we have to document how to set up a project/application in a way that can be repeated on arbitrary computers. The alternative was "have a README where you list all of the things you need to do/install in order to get this project running". That failed. Miserably. Developers always assumed things like "well naturally, if you're playing in the XYZ space, you've already got me…

Speaking as someone with similar views to the OP: my “better solution” is to write an idempotent shell script targeting a specific Debian release/ISO that handles system setup end-to-end.

It is for nearly all intents and purposes functionally equivalent to docker, and it’s pretty trivial to port to Dockerfile in minutes. I use docker plenty for work and am fully aware of its benefits. Like the OP, I just dislike Docker’s iptables fuckery and CLI design as a matter of personal preference.

Of course, context is king, and I only do this for things I’m designing and running myself - but the larger point I’m trying to make is that you can do the whole “unambiguous file that describes the exact shell steps required to get the piece of software running, starting from a base distro”-thing without Docker in the picture.

Re: I don't like Docker or Podman

#72
post #69

Earlier quoted context omitted.

Forcing a software development dependency manager (e.g. pip, npm, etc) is even worse.

Both are bad, compared to Linux distro packaging.

It may be easier to run apt-get install or yum install as a user but having done both I'd say that creating new OS level distro packages is a lot harder work than Dockerfiles to setup and is likely to run only on the specific system for which it was built and will need to be rebuilt and maybe modified every time you upgrade the OS. Docker images will run pretty much everywhere and tend to stay stable for a long time modulo security upgrades. Distro packaging is great for managing things that come with a distro where all the spec files are already written. That's likely not your webapp. Plus it's not a layer cake like Docker. That's a huge advantage that lets you leverage the expertise required for the different layers of your app or reuse publicly available base images.

Re: I don't like Docker or Podman

#73
post #5

Cool story but at least try to give some argumentation when you say stuff like: >The design of the language in Dockerfile is ad hoc in a bad way. It’s difficult to understand, for me, and easy to make mistakes. Because that reads like a skill issue to me

Trivial things should not require skill.

Re: I don't like Docker or Podman

#74
> Docker is very popular software to build Linux container images and running software in them. I don’t like it.

> Podman is a re-implementation of the concept, command line interface, and file formats that is very close to identical to Docker. I don’t like that either.

> I’ve used *systemd-nspawn* fairly extensively to run things in containers. It’s a much simpler container system than Docker, and I do not find it objectionable. I built a CI engine on top of it. But I don’t use it either, any more.

This person is actually insane, but huge respect for doing things differently!

Re: I don't like Docker or Podman

#76
post #39

Earlier quoted context omitted.

Under virtualization (or emulation if amd64 on arm64). May as well spin up that VM.

I'm not sure what your point is. virtualized or not you can run docker on any mainstream operating system using any mainstream hardware and get near native performance.

Outside of development, running containers on macOS/Windows doesn't make sense. And macOS is using emulation via Rosetta, not virtualization on M-series.

Re: I don't like Docker or Podman

#77

Earlier quoted context omitted.

Why? You can treat Dockerfile as documentation for the most part

Unnecessary complexity makes debugging and understanding the system much harder. This is particularly common with CLI tools written in some languages. I was looking at Antora the other day (not intending to single this project out, it's just the one that came to mind). I found two ways to run it: 1. By installing Node: https://docs.antora.org/antora/latest/install-and-run-quicks... 2. By running it in a Docker contai…

It's just "complexity" if you aren't super comfortable with docker.. it's super easy to do everything you describe with docker. Like for me it's much easier to debug in a self contained system, because even a binary can have issues with dynamic linking, etc. So for me the complexity is reversed. I don't want to pollute my actual machine with stuff when a docker container is just as easy to use. I don't want my distro's OpenSSL to be slightly incompatible with something that the package is using. A dockerfile removes all of that.

Re: I don't like Docker or Podman

#79
Don't like Docker either. Why? As an absolutely unnecessary entity, it doesn't correspond with Occam's Razor. It's overengineered. It's clumsy and slow. It utilizes a lot of resources and leaves a lot of garbage in the filesystem. It's not secure. It's overhyped. docker-compose is an abomination. The same goes for Kubernetes.

Re: I don't like Docker or Podman

#80
post #76

Earlier quoted context omitted.

I'm not sure what your point is. virtualized or not you can run docker on any mainstream operating system using any mainstream hardware and get near native performance.

Outside of development, running containers on macOS/Windows doesn't make sense. And macOS is using emulation via Rosetta, not virtualization on M-series.

Only if there is no arm variant of the image you want to run.
Post reply on HN