Help with Rootless Podman and remote volume mounts
I'm trying to switch my existing Docker setup to a rootless podman one.
The main issue tripping me is how to mount remote volumes. My file server is a different machine, so I mount the data into docker containers via a NFS volume. However, I can't do this with podman since the normal user doesn't have the rights for mounting NFS drives. Only the root user can do that.
One option I've thought of is to mount everything I need via fstab and use bind mounts. Is there a better solution?
It's not possible to mount NFS shares without root (a rootful container would work but I don't recommend it). Docker allows it because it implicitly runs as root. Cleanest solution is to mount it from the host's fstab and use a bind mount.
You can mount NFS shares as non-root user, look it up some more.
What trips people is that it needs some extra configuration on both server and client, the UID needs to match, and the user needs to own the mountpoint dir.
The error message from NFS ("only root can do that") doesn't help either.
Update: I took some suggestions and ideas from the comments here and built a system for this:
Create the mountpoint directories
Add the mounts to /etc/fstab with the user,noauto option
I'm using quadlets, so add a new [service] section to my container file and add ExecStartPre and ExecStopPost entries with mount and umount commands
Add bind mount volumes to the NFS shares pointing to the local mountpoint
This allows me to have the mounts only active when the container is running. And I can still have rootless podman containers. Seems to be working well in the limited testing I did yesterday.