Hacker News new | ask | show | jobs
by suchar 1741 days ago
Is there any practical benefit of Podman over Docker on a Mac? Virtual machine is still needed, so any performance issues are likely to persist (well, maybe Docker for Mac is a bit more buggy, but we can manually setup Docker instead of Podman in a similar way).

Also, I think we are losing here access to the Docker socket on the host (inside the virtual machine it can be emulated using docker-podman).

3 comments

Podman does have a socket that can be started. I use it on Linux so I'm not sure how that works on MacOS but it's API is Docker compatible, thus works with the docker cli and docker-compose as well.
IIRC the podman socket is a planned thing for macOS as it'll be necessary for certain features that rely on the docker socket and don't use SSH, such as VSCode's Remote Containers extension.

However you can create an SSH tunnel to create the socket locally to allow non-podman clients to utilize the socket over SSH with the DOCKER_HOST environment variable.

  # Get URI
  > podman system connection ls

  # Create tunnel
  > ssh -nNT -L/tmp/podman.sock:/run/user/1000/podman/podman.sock -i ~/.ssh/podman-machine-default ssh://core@localhost:[PORT]

  # Export socket location
  > export DOCKER_HOST='/tmp/podman.sock'

https://github.com/containers/podman/issues/11462

https://github.com/containers/podman/issues/11397

Socket location is wrong. Use this: export DOCKER_HOST='unix:///tmp/podman.sock'
The podman socket can be used to connect stuff to podman.

For example, a GUI program or even docker-compose.

However I must admit that I'm having serious troubles with podman+docker-compose (rhel 8.4, podman 3.2.3) so I reverted to podman-compose (which is way lower in quality and completeness).

Not having to pay Docker Inc to use it is the big advantage along with the security that comes with a solution that isn’t the meal ticket of the company that makes it so it will likely live on community supported for a long time.
> Not having to pay Docker Inc to use it is the big advantage

It’s mind boggling to me how much HN refuses to pay (only for company licensing) for the innovation that is Docker, and would rather find alternatives to the tooling around it.

> solution that isn’t the meal ticket of the company

Usually I’ve seen arguments the other way around - X will do a good job /because/ it’s their core offering.

When software companies switch to subscription-only models (see 1Password) you better not be invested in the software too much or you'll be at their price gouging mercy.

I'll happily pay for software but I won't support subscription-based models, ever.

You’re conflating consumer and corporate purchasing. By and far, companies prefer subscription based pricing that comes with ongoing support. Consumers also want support and updates, but have an irrational desire to not pay the company/people that provide it…
What is podman’s revenue model?

I am perplexed by the conclusion that charging enterprise customers $5/user-month makes the product’s future less secure.

podman has no revenue model, it is an open source project managed by https://github.com/containers
So without a revenue model, how would they pay someone to maintain it if the current maintainer[s] need to focus on family or paying their mortgage?
It's from RedHat/IBM. They can give this stuff away to developers because they just want to sell OpenShift to deep pocketed Enterprise customers. And really podman is strategically a defensive move so their Enterprise offerings aren't stuck depending on Docker Inc.

Contrast with Docker, whose business is explicitly focused on "developer tools."

So podman is funded ultimately by enterprises which is OK, but now docker wants to fund their products by enterprises that's a problem for some reason...

I could understand this if they were turning the thumbscrews on individuals but all this talk of switching sounds petty and silly and will probably be false economy

When I last looked into it, I came away with the feeling that github.com/containers is pretty much RedHat without any official backing.
That’s how Red Hat operates mostly. Time will tell if IBM royally messes this up but Red Hat is an upstream first company. If they need something they will put up the developer time but it will be a community project first that they repackage for RHEL.

Red Hat’s secret sauce so to speak is the stupid amount of ongoing work it takes to actually maintain a distro, not the software itself.

Because the future of the product now depends on the enterprise customers paying enough for it to not only fund the development but also fund the business backing it.

OSS works best when software is needed by many different enterprises that all need it for their business but it isn’t a direct revenue generator. Because then the future is guaranteed since all of those enterprises will contribute patches and it makes financial sense for any of them to take on the maintainership.

Docker Desktop has always been a single point of failure in development terms not being OSS, but the community of users just got slashed not that there’s a price tag attached to it and by charging Docker has basically said that the future of the product now depends on it turning a profit instead of before when it only depended on Docker Inc overall turning a profit.

No idea how you came to that conclusion. Do you really think they'll survive without a way of using docker on Macs ? This is an extra revenue stream
As a typical mac user there is no practical benefit.

Being on a Mac is so you can avoid lengthy configurations, scripts and commands and instead have something that just works and is seamlessly integrated.

This is the opposite.

You’d probably only want to go this route to make a statement about free open source software. But at that point you may as well run Linux

The Docker daemon (likely the HyperKit VM) on the Mac has a tendency to burn CPU cycles, even when there are no containers running. It's pretty common for it to sit at 10-20% of a core all day, and sometimes gets pegged at 100% until you quit.

There are countless closed issues in the GitHub issue tracker [1] for similar issues, but the symptoms don't seem to go away for me or many of my colleagues.

It's been a pretty awful experience on Mac for a long time, so any competition is surely welcome.

[1] https://github.com/docker/for-mac/issues/3499

I had the same frustrations until the other day I saw a tip to enable 'Use the new Virtualization framework' under Preferences -> Experimental Features. Since then Docker's background CPU usage has dropped to 1% and I no longer bother stopping it when I'm not using it.
My hopes for this were high, but it just makes my containers crash (until then networking works and it may be faster) on M1/Monterey.
That’s probably why it’s still marked experimental! Works well for me on an M1 Mac running Debian/Ubuntu Arm containers.
Wow, Mac users put up with some bullshit to avoid configuration and have things "just [sometimes, unless you're holding it wrong] work"
I'm happy your platform of choice has no bugs nor quirks. Could you let us know which one it is? We can probably help you find the bullshit you put up with that has become second nature.
I'm not the one claiming my system is the perfect dev machine.