Overriding storage location for a single user in rootless podman deployment?
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
On 11/10/21 12:14, budsonjelmont@gmail.com wrote:
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 _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
If you have root permissions on this system, why not bind mount your large storage to your homedir? But this does look like a bug. Could you cehck if podman3.4 has this problem? Podman 3.3 was just released in RHEL8.5
Many thanks, Dan and Pavel. I will see about getting access to a dev environment where I can try out 3.4, since I'm keen to see if this is currently possible in podman. Bind mounting some additional storage into my home is an option if needed, and I had considered going this route. For this particular application, my goal was to eventually surrender my root permissions entirely and have everything running with as minimal privs I can get away with. On Wed, Nov 10, 2021 at 4:56 PM Daniel Walsh <dwalsh@redhat.com> wrote:
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
On 11/10/21 12:14, budsonjelmont@gmail.com wrote: 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 _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
If you have root permissions on this system, why not bind mount your large storage to your homedir?
But this does look like a bug. Could you cehck if podman3.4 has this problem?
Podman 3.3 was just released in RHEL8.5 _______________________________________________ Podman mailing list -- podman@lists.podman.io To unsubscribe send an email to podman-leave@lists.podman.io
participants (3)
-
budsonjelmont@gmail.com -
Daniel Walsh -
Judson Belmont