Podman 5.0 has been released
blog.podman.io
blog.podman.io
I'm a fan of podman but this "drop in replacement" meme needs to pass. It's only true on the outermost surface
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"
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'
- 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...
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.
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
There's still https://download.opensuse.org/repositories/devel:/kubic:/lib... , but it's not what one could consider production ready. Example of why: https://github.com/containers/podman/issues/5102#issuecommen...
The build from source instructions work and you can easily maintain your own back ports / PPAs for things like that as the standard mechanism for major upgrades which the core distribution doesn’t want to commit to supporting. Usually you can simply take the updated package definition from the unstable repository and build that, and a quick search suggests many people are doing just that.
So on the surface - if you're making the decision to try it now, at least - it doesn't seem that supporting Debian 10 is that big a deal. I guess if you've been on Debian 10 for ages & wanting to use Podman that could easily have been a dealbreaker though, but as someone looking to switch out from Docker it looks like it should be fine on the next Debians?
I generally kind of see this as a good thing, in that you can assume (or at least, hope) you're getting some extra stability because of this, but it's just as often frustrating when you're missing some key feature that came out a couple years ago because the repo version is old.
I think technically .pod quadlet files came out in 4.9 but I'm still excited for them. Quadlet works great as a docker-compose replacement at the administration level but for use-cases like setting up a quick dev environment it's still lacking a little. Hopefully being able to easily set up a user-level systemd-unit pod should make it easier.