Live data from Hacker News

I ditched Docker for Podman

codesmash.dev

641–650 of 670 posts

Re: I ditched Docker for Podman

#641
post #513

Earlier quoted context omitted.

What do you do when you then actually need to make a change to your application (e.g. a 1-liner fix)? Edit the binary image?

Build and tag internal base images on a regular cadence that individual projects then use in their FROM. You’ll have `company-debian-python:20250901` as a frozen-in-time version of all your system level dependencies, then the Dockerfile using it handles application-level dependencies with something that supports a lockfile (e.g. uv, npm). The application code itself is COPY’d into the image towards the end, such that…

At that point you're doing most of the work yourself, and the value add from Docker is pretty small (although not zero) - most of the gains are coming from using a decent language-level dependency manager.

Re: I ditched Docker for Podman

#642
post #553
post #356

Earlier quoted context omitted.

I generally find rootless pretty easy, it's just annoying that it's an additional few steps. Feels like an afterthought when it should be the default.

It's easy in theory. I'd say about 30% of my containers require root and just wouldn't work on Podman.

You can run containers as root under Podman. You just don't have to.

Re: I ditched Docker for Podman

#643

Earlier quoted context omitted.

> so there is basically a zero percent chance I'll come in in the morning and not be able to run the latest head of develop because someone else's dev machine is slightly different from mine. It seems you never had to deal with timezone-dependent tests.

What are timezone-dependent tests? Sounds like a bummer

I once had to work with a legacy Java codebase and they hardcoded the assumption their software would run in the America/New_York timezone, except some parts of the codebase and tests used the _system_ timezone, so they would fail if run in a machine with a different timezone.

Re: I ditched Docker for Podman

#644
post #107

Earlier quoted context omitted.

> You end up having to track who has it installed. Hired 5 more people this week? How many of them will want docker desktop? Oh, we’ve maxed the licenses we bought? Time to re-open the procurement process and amend the purchase order. I don't quite get this argument. How is that different from any piece of software that an employee will want in any sort of enterprise setting? From an IT operations perspective it is t…

You're right that it's no different than other software, but when you reach the point where the average employee has 20-30 different licenses for all the different things they might use, managing it all becomes a job for multiple people. Costs and management grow in an O(n*m) manner where n is employees and m is numbers of licenses per employee. It seems like nothing when you're small and people only need a couple li…

> Contrast this with what it takes for an engineer to use a common, free tool: They can just use it. No approval process.

As far as IT operations goes, it's usually easier to get approval for paid products since they come with support and are viewed as more "trustworthy". At least in my experience.

I've never worked in a 300+ organisation where you could "just use" things. I have worked in places where they gave some of us local admins (I've been a domainadmin in a few places too), but there is usually a large bureaucracy around software regardless of licenses. Where I work right now, licensing is a minor part of it for companies with good payment systems (like Docker) where it'll automatically go on the books and be EU tax deducted. Compare that to GitKraken where you need to create an IT owner account inside their system, and then distribute the annual licenses manually after you pay for them with a credit card that you will then need to manually submit for tax deduction.

Re: I ditched Docker for Podman

#645
post #107

Earlier quoted context omitted.

> You end up having to track who has it installed. Hired 5 more people this week? How many of them will want docker desktop? Oh, we’ve maxed the licenses we bought? Time to re-open the procurement process and amend the purchase order. I don't quite get this argument. How is that different from any piece of software that an employee will want in any sort of enterprise setting? From an IT operations perspective it is t…

> How is that different from any piece of software that an employee will want in any sort of enterprise setting? Open source is different in exactly that, no procurement. Finance makes procurement annoying so people are not motivated to go through it.

Around here it's usually a lot harder to get open source software approved with IT because they tend to dislike products where they can't call a compant. Licensing is easier of course, but for a lot of software licensing is virtually automatic. With Docker it's billed by the amount of people in the Docker AD group, and it tells EU tax deductable automatically.

Not that this should be an argument for docker. The idea that having someone to call makes a piece of software "safer" is as ridiculous at it sounds. Especially if you've ever tried "calling" a company you buy 20 licenses from, and when I say call what I really mean is talking with a chatbot and then waiting a month for them to get back to you via email. But IT's gonna IT.

Re: I ditched Docker for Podman

#646
post #434
post #415

Back in 2001/2002, I was charged with building a WiFi hotspot box. I was a fan of OpenBSD and wanted to slim down our deployment, which was running on Python, to avoid having to copy a ton of unnecessary files to the destination systems. I also wanted to avoid dependency-hell. Naturally, I turned to `chroot` and the jails concept. My deployment code worked by running the software outside of the jail environment and m…

First result on Google, 22k stars https://github.com/slimtoolkit/slim

Well, this is elegant/cool.

Re: I ditched Docker for Podman

#647
post #596

Earlier quoted context omitted.

"stiff the open source contributors" I'm not sure you realize that "open source" means anyone anywhere is free to use, modify, and redistribute the software in any way they see fit? Maybe you're thinking of freeware or shareware which often _do_ come with exceptions for commercial use? But anyway, as an open source contributor, I have never felt I was being "stiffed" just because a company uses some software that I h…

[flagged]

....and yet those tech bros all use open source software themselves.

Re: I ditched Docker for Podman

#648

Earlier quoted context omitted.

They publish statically-linked binaries on GitHub [0], so to install it, you just need to download and unpack a single file. But you don't get any automatic updates like you would if they provided an apt repository. [0]: https://github.com/containers/podman/releases

Wow! I can't believe I missed that. Thanks.

Apparently, I didn't miss anything after all. :(

See sibling comment above about them being just remote binaries.

Re: I ditched Docker for Podman

#649
post #584

Earlier quoted context omitted.

You can always edit the file in the container and re-upload it with a different tag. That's not best practice, but it's not exactly sorcery.

It's not, but at that point you're giving up on most of the things Docker was supposed to get you. What about when you need to upgrade a library dependency (but not all of them, just that one)?

I'm not sure what the complication here is. If application code changes, or some dependency changes, you build a new docker image as needed, possibly with an updated Dockerfile as well if that's required. The Dockerfile is part of the application repo and versioned just like everything else in the repo. CICD helps build and push a new image during PRs, or tag creation, just like you would with any application package / artifact. Frequent building and pushing of docker images can over time start taking up space of course but you can take care of that by maybe cleaning out old images from time to time if you can determine they're no longer needed.

Re: I ditched Docker for Podman

#650
post #583
post #562

Earlier quoted context omitted.

you append it to the end of the docker file so that the previous image is still valid with its cached build steps

And just keep accreting new layers indefinitely?

Docker re-uses layers as needed and can detect when a new layer needs to be added. It's not like images grow in size without bound each time something is changed in the Dockerfile.
Post reply on HN