I'm a fan of podman but this "drop in replacement" meme needs to pass. It's only true on the outermost surface
As a normal, non-root user, that is!
One may need to account for permissions and ownerships more when using podman compared to Docker. Being in the 'docker' group allows the daemon to set the stage for you.
Many ways to address it. For example, using named volumes instead of mounts.
... but a lot of people use mounts expecting something different than what podman offers, due to permissions/ownerships; it is notable
It's tough for me to point 'blame' any which way, both models are fine enough. UID/GID stuff can get messy fast, I prefer podman/'seeing the warts'
I decided to run an app in docker rootless in my personal server and there are a whole bunch of problems related to that. A lot of images expect to be run as "root all the way down"
- Several issues with non-native containers which are commonly encountered on Apple Silicon Macs: multi-platform containers start much slower, sudo commands in non-native containers don't work, the TARGETARCH variable was set wrong (fixed), the Docker API implementation didn't pay attention to the specified platform (fixed).
- The daemon that creates docker.sock so you can use the Docker CLI doesn't clean up after itself if you uninstall, and this breaks Docker Desktop if you want to switch back (say, to investigate one of these incompatibilities).
- Host directories you want to mount into containers need to be configured when the machine VM is created.
- The machine VM defaults to using an unstable image, which completely broke in September 2023 for a few days.
https://github.com/search?q=org%3Acontainers%20is%3Aissue%20...
I haven’t seen that - do you know which flavor Linux that affected?
Solution: https://stackoverflow.com/a/77354286/145504
Discussion: https://github.com/containers/podman/discussions/20445
Can you elaborate on the host directories bit? I'm curious what you mean.
Realize that when you are running podman on macOS, all of your containers are really running inside a Fedora virtual machine, and the `podman` (and `docker`) commands you execute are remotely controlling what's happening on this virtual machine.
So when you use -v to mount a file or directory into your container, you're really mounting it from the virtual machine, not your macOS host. For example:
$ podman run --rm -v /etc/os-release:/foo debian head -n 1 /foo
NAME="Fedora Linux" # this file doesn't exist on macOS
But obviously you wanted to mount a directory from your macOS host into the container. Podman accomplishes this by creating some network mounts for a few directories on your macOS host, like /Users, at the same path inside the container. Presto, `-v /Users/itsautomatisch/Stuff:/stuff` works like you wanted.If you want to be able to mount another macOS directory that Podman doesn't do by default, like /Volumes/Stuff, you have to recreate the podman machine VM (`podman machine rm && podman machine init -v /Volumes/Stuff`) but it clears the default list if you do this.