Live data from Hacker News

Migrating from Docker to Podman

marcusnoble.co.uk

41–50 of 111 posts

Re: Migrating from Docker to Podman

#41

Ive been using Podman for a while for my non-Kubernetes cloud deployments (i.e. small VM based things). It's worked very well for me after a few initial hiccups a year or so ago. Now that Podman-compose[0] is in the works, it'll really be comparable in the UX space soon, and outperforms Docker in several ways when it comes to security. The key difference with Podman compared to Docker is that is does not run a deamon…

podman-compose is an unofficial project which converts the compose file into podman cli commands. Podman now supports the docker API which means you can use docker's own docker-compose with podman.

Interesting point, thank you.

I'm not sure where I got the impression it was official.

Re: Migrating from Docker to Podman

#42
post #19

Ive been using Podman for a while for my non-Kubernetes cloud deployments (i.e. small VM based things). It's worked very well for me after a few initial hiccups a year or so ago. Now that Podman-compose[0] is in the works, it'll really be comparable in the UX space soon, and outperforms Docker in several ways when it comes to security. The key difference with Podman compared to Docker is that is does not run a deamon…

Podman [supports][1] `docker-compose` now. Just set `DOCKER_HOST` to the path of your Podman socket after activating the service, and it should just work (unless you use Swarm, which is not supported). [1]: https://www.redhat.com/sysadmin/podman-docker-compose

I've had mixed results with that. Sometimes it works flawlessly, sometimes it doesn't.

It should be said that I was mixing that with non-root podman (although that should be a supported usage).

I went back to podman-compose.

Dunno

Re: Migrating from Docker to Podman

#43
post #39

Earlier quoted context omitted.

Having just fought it, Docker rootless is a pain to set up and feels like a hack; it's not the default behavior, requires a lot of additional setup to get it working, behaves differently than rootful docker, and lastly most documentation assumes you're using rootful docker because it's been the only way for years. The fundamental architecture of docker makes rootless awkward but the company needs to compete with podm…

I just found out about Docker's rootless mode in an HN thread the other day. The docs make it seem simple, with few meaningful limitations. Really interested to hear some more about the additional setup you needed to do, and what behavioural differences you've encountered?

Extra packages/steps/incantations that to be performed/installed, introduction of a docker context mechanism that requires understanding, lingering inconsistencies with external filesystem mounting as root owner, incompatibility with most existing docker scripts and compose scripts, confusion on how to get back to root mode, etc.

It just didn't feel like a turn key solution. I have no idea how this would work in CI/CD systems though docker doesn't always need to be as secure there. Docker is a great tool but, like a lot of tech, in the mad rush to market, security was an afterthought and nowhere has it felt more clearly to me than in rootless mode.

Re: Migrating from Docker to Podman

#46
post #38

Someone correct me if I'm wrong but my understanding is that Docker is only charging for Docker Desktop, which is a GUI and management tool required to use Docker on Windows and MacOS - both of which are not supported by Podman. And Docker Desktop is not required (or even available) on Linux - the only platform Podman supports.

you're right. And the caveat is still that Docker Desktop costs $240 a year only for companies with $10m+ in revenue or 250+ employees. Free for everyone else.

I don't get the whole "Let's spend weeks rewriting our build infrastructure to save $240 a year" strategy going on here.

Re: Migrating from Docker to Podman

#47

Still for reproducibility, it's best to build container images with Nix: https://nix.dev/tutorials/building-and-running-docker-images

I don’t really get it — my low resolution understanding is that Nix gives you the ability to define your Unix environment itself with definition files, similar to how Docker gives you the ability to define a container abstraction with Dockerfiles. So if your whole machine’s environment is already specified, why do you need to add Docker as another layer of abstraction? Is it simply to deal with needing to run multipl…

With nix, the whole dependency hell problem is solved, so you will not get conflicting dependencies anymore (other than perhaps bugs). You could install the same program twice with the exact same version of libc compiled by gcc and clang for example and it would still not get into each other’s way.

Docker on the other hand doesn’t solve this problem itself - docker images can be built declaratively (eg. with nix itself), but it is more about managing the running of services with possibly different environments. A typical dockerfile will not be identical at all between two separate creations (most of the time it just installs programs from a repository without any versioning other than perhaps the distro’s major version)

The fact that we as in software developers use it for dev environment is just the unfortunate way it is.

Re: Migrating from Docker to Podman

#48

I have really enjoyed using Podman and will keep using it. I have found it be to stable (running on CentOS) for our production stuff. Shameless plug: We built Simplenetes[1] around Podman (a simpler alternative to Kubernetes, but written in 100% shell script :) 1: https://simplenetes.io/

That actually looks pretty interesting.

How do you handle load balancing of inbound traffic.. do you use a pod running Traefik or similar? How do the pods communicate when they are deploying, unavailable or busy and so on?

I guess I could get this from your site but there's a LOT of information on the first pages there and possibly not what I am looking for.

Re: Migrating from Docker to Podman

#50
post #38

Someone correct me if I'm wrong but my understanding is that Docker is only charging for Docker Desktop, which is a GUI and management tool required to use Docker on Windows and MacOS - both of which are not supported by Podman. And Docker Desktop is not required (or even available) on Linux - the only platform Podman supports.

you're right. And the caveat is still that Docker Desktop costs $240 a year only for companies with $10m+ in revenue or 250+ employees. Free for everyone else. I don't get the whole "Let's spend weeks rewriting our build infrastructure to save $240 a year" strategy going on here.

$240 a year * 250+ employees is 60k at the very least.

My company has over 3500 engineers. That's almost a million dollars in new spend and you gain basically nothing. It's a product the entire org has already been using for a long time, now you just have to pay a million dollars a year to use it.

Post reply on HN