Overriding storage location for a single user in rootless podman deployment?
by budsonjelmont@gmail.com
I'm new to podman, and fairly new to containers in general, so any advice is appreciated.
I'm running rootless podman in an environment with very little space allocated to /home. To get around this, I'd like to set up storage for my containers in a directory outside of my home while still running rootlessly. I'd prefer not to have the default location for container storage changed for all rootless users if possible (i.e. don't want to change /etc/containers/storage.conf if I can help it), I just want to override the defaults for a single user.
My understanding is that I could accomplish this by creating a local config file for my login and changing the locations of runroot and graphroot to the paths I want podman to write container data to. So I created a file ~/.config/containers/storage.conf (it didn't exist previously) and added the following minimal configs:
[storage]
driver = "overlay"
runroot = "/run/user/999"
graphroot = "/opt/resources/podman/containers/storage"
[storage.options]
mount_program = "/usr/bin/fuse-overlayfs"
After creating my the config file above though, none of my podman commands work running as my user login. E.g doing
podman info
Gives me the following error:
Error: mkdir /run/containers/storage: permission denied
It seems like podman is ignoring my user-specific config file and using the runroot path specified in /etc/container/storage.conf (which is set to /run/containers/storage), which is what I'm trying to avoid. I can restore rootless podman functionality by deleting my user-specific storage.conf file and reverting back to the default settings, but that doesn't get me any closer to fixing my issue.
Details:
OS: RHEL 8.4
Podman Version: 3.2.3