How to Replace Docker with Podman on a Mac

324 points89 comments4 years ago
williamsmj

My understanding is that this old article is no longer the simplest/easiest way of doing this. For that, see https://marcusnoble.co.uk/2021-09-01-migrating-from-docker-t.... tl;dr:

    $ brew install podman
    $ podman machine init
    $ podman machine start
    $ alias docker=podman
If you're on an M1 you may run into https://github.com/containers/podman/issues/10577 (which is WIP, and may have been resolved by https://github.com/containers/podman/pull/11451).
show comments
suchar

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).

show comments
deathanatos

This feels like the whole industry is now all going through the same motions…

I tried podman; two hurdles I haven't figured out: 1/ sending the context is incredibly slow on podman, compared to Docker+Buildkit. It's definitely trying to send literally the entire context, like Docker without Buildkit does, but even more slowly… 2/ private registry auth. Haven't really tried too hard, but it's not just "a drop in replacement"; I think I need to somehow auth with podman specifically. (Part of this is our external registry is ACR, and we auth with `az`, but I think `az` is presuming Docker…)

show comments
lpasselin

Now there is `podman machine` which makes most of this article outdated.

show comments
inyorgroove

While there do exist several alternatives to Docker Desktop, I am a fan of multipass. Something I don't see anyone talking about, the host to guest volume mounting performance can't be beat. The alternatives can't hold a candle to Docker Desktop's solution.

I need this volume mounting to get development code changes into the container in a reasonable time and the alternative performance feels like running on a standard hard drive compared to nvme ssd.

show comments
tambourine_man

Is Vagrant still actively used? I was all over it some 4-5 years ago.

I remember HashiCorp even favoring a newer product they were trying to promote.

show comments
throwaway234565

How does this compare to multipass? I tried multipass out on an Intel Mac yesterday and it worked great until I connected to corporate vpn (anyconnect) and then it all went downhill. Tried some of the workarounds (https://multipass.run/docs/troubleshooting-networking-on-mac...) but no luck. Back to Docker Desktop.

mbell

Is there is a solution for using `docker-compose` on mac with podman? I know that podman supports it natively now, and there is `podman-compose`, but I couldn’t find much on getting either working on a mac due to the remote setup.

swlkr

I tried podman on an intel mac and everything worked except mounting volumes

show comments
no_wizard

Does Podman do a better job avoiding bloat in the development workflow? That’s been a major thing with docker for me, it spins up a new layer whenever I try to do send an arbitrary command to a running vm, which with development (PHP) I find this is something I have to do often, so these layers add up quickly

hendry

I tried podman on my MBP and didn't get very far :/ https://github.com/containers/podman/issues/11479

chrisweekly

See https://news.ycombinator.com/item?id=28379556 for a recent discussion about minikube (the only drop-in replacement for Docker Desktop).

CR007

We replaced Docker hub with ghcr + buildah action and we won't ever look back! We are just waiting for more compose support which seems that will happen shortly anyway.

Thanks redhat!

[deleted]
mikesabbagh

best thing about podman is the -l option, that refers to last image used

for example to see the last conatainer's logs:

podman logs -l

just beautiful!

while1fork

I replaced docker desktop on my Mac with the CLI brew version and set DOCKER_HOST. This is because my 96-core, 0.5 TB RAM Linux server can run it just a wee bit faster than an old Mac mini.

gjs278

hilarious. the article is already outdated. the truth is nobody should be using docker. the tools are fickle and nobody knows how they actually work. stick with VMs.