containers-storage.conf(5) (NAME) containers-storage.conf - (DESCRIPTION) STORAGE TOML . (FORMAT) TOML . "storage" . . TOML : [table] option = value [table.subtable1] option = value [table.subtable2] option = value STORAGE storage : driver="" (COW Copy On Write). "overlay" "vfs" "btrfs" "zfs". ( "zfs" "btrfs") (kernel) . (rootless) "btrfs" "overlay" "vfs". graphroot="" (: /var/lib/containers/storage $XDG_DATA_HOME/containers/storage $HOME/.local/share/containers/storage $XDG_DATA_HOME ). . graphroot ( $HOME/containers/storage). graphroot SELinux : # semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH # restorecon -R -v /NEWSTORAGEPATH : # semanage fcontext -a -e $HOME/.local/share/containers NEWSTORAGEPATH $ restorecon -R -v /NEWSTORAGEPATH rootless_storage_path="" graphroot . graphroot storage.rootless.conf.d/ . imagestore="" ( graphroot ). imagestore graphroot . graphroot . imagestore imagestore . graphroot . overlay graphroot . graphroot additionalImageStore . imagestore . imagestore graphroot . imagestore graphroot . runroot="" (: /run/containers/storage $XDG_RUNTIME_DIR/containers /tmp/storage-run-$UID/containers $XDG_RUNTIME_DIR ). . tmpfs . ( $HOME/containers/storage). driver_priority=[] . . . driver . . . . transient_store = "false"|"true" (transient store) ( runroot ) . . . (: false) (STORAGE OPTIONS TABLE) storage.options : additionalimagestores=[] . (read/only) . root-auto-userns-user="" root-auto-userns-user UID/GID /etc/subuid /etc/subgid . (user namespace) . . . auto-userns-min-size=1024 . auto-userns-max-size=65536 . disable-volatile=true disable-volatile "volatile" . (STORAGE PULL OPTIONS TABLE) storage.options.pull_options : enable_partial_images="true"|"false" "zstd:chunked" (partial pulls) . . zstd:chunked . << >> : "false"|"true" ( TOML ). use_hard_links="false"|"true" containers/storage (hard links) . << >> : "false"|"true" ( TOML ). ostree_repos="" ostree . convert_images="false"|"true" "true" containers/storage zstd:chunked . . << >> : "false"|"true" ( TOML ). insecure_allow_unpredictable_image_contents="false"|"true" . << >> . estargz zstd:chunked . ( ) . . ( ). << >> : "false"|"true" ( TOML ). BTRFS storage.options.btrfs : min_space="" btrfs . size="" . (quota) . (: [] b () k () m () g () ). OVERLAY storage.options.overlay : ignore_chown_errors = "false" ignore_chown_errors UID . UID . UID uid (squash) . . (: "false") << >> : "false"|"true" ( TOML ). inodes="" inode /. inode / . force_mask = "0000|shared|private" ForceMask . "shared" "private" . (: ""). (Octal) . o ``: . / . o private: 0700 . / 0700 . rwx . . o shared: 0755 . rwx . . root . : . /etc/shadow . OCTAL: . : force_mask . "force_mask" "user.containers.override_stat" "mount_program" . "/usr/bin/fuse-overlayfs" "force_mask" . mount_program="" . CAP_SYS_ADMIN overlay mount_program . mount_program btrfs zfs overlay ecryptfs . mount_program = "/usr/bin/fuse-overlayfs" mountopt="" . "nodev" . mount(8) . skip_mount_home="false" (PRIVATE bind mount) . << >> : "false"|"true" ( TOML ). size="" /. / . (: [] b () k () m () g () ). use_composefs = "false" ComposeFS . ComposeFS . << >> : "false"|"true" ( TOML ). sync="none|filesystem" . (: "none") o none: . syncfs() . o filesystem: . (flush). . VFS storage.options.vfs : ignore_chown_errors = "false" ignore_chown_errors UID . UID . UID uid . . << >> : "false"|"true" ( TOML ). sync="none|filesystem" . (: "none") o none: . syncfs() . o filesystem: . . . ZFS storage.options.zfs : fsname="" zfs. mountopt="" . "nodev" . mount(8) . size="" . . (: [] b () k () m () g () ). SELINUX (SELINUX LABELING) SELinux graphroot . SELinux . SELinux /var/lib/containers/storage . semanage fcontext -a -e /var/lib/containers NEWSTORAGEPATH restorecon -R -v NEWSTORAGEPATH : semanage fcontext -a -e $HOME/.local/share/containers NEWSTORAGEPATH restorecon -R -v NEWSTORAGEPATH semanage SELinux NEWSTORAGEPATH /var/lib/containers . restorecon SELinux . . (QUOTAS) XFS overlay . XFS pquota . /etc/fstab: /dev/podman/podman-var /var xfs defaults,x-systemd.device-timeout=0,pquota 1 2 (project id) XFS . xfs_quota : echo 100000:/var/lib/containers/storage/overlay >> /etc/projects echo 200000:/var/lib/containers/storage/volumes >> /etc/projects echo storage:100000 >> /etc/projid echo volumes:200000 >> /etc/projid xfs_quota -x -c 'project -s storage volumes' / "start offset" ( >= 100000) . "start offset" ( >= 200000) . xfs_quota containers/storage. (FILES) : o /usr/share/containers/storage.conf o /usr/share/containers/storage.conf.d/ o /usr/share/containers/storage.rootful.conf.d/ ( UID == 0) o /usr/share/containers/storage.rootless.conf.d/ ( UID > 0) o /usr/share/containers/storage.rootless.conf.d// ( UID > 0) o /etc/containers/storage.conf o /etc/containers/storage.conf.d/ o /etc/containers/storage.rootful.conf.d/ ( UID == 0) o /etc/containers/storage.rootless.conf.d/ ( UID > 0) o /etc/containers/storage.rootless.conf.d// ( UID > 0) o $XDG_CONFIG_HOME/containers/storage.conf $XDG_CONFIG_HOME $HOME/.config/containers/storage.conf o $XDG_CONFIG_HOME/containers/storage.conf.d/ $XDG_CONFIG_HOME $HOME/.config/containers/storage.conf.d/ containers-config(5) . /etc/projects - XFS /etc/projid - XFS (SEE ALSO) containers-config(5), semanage(8), restorecon(8), mount(8), fuse- overlayfs(1), xfs_quota(8), projects(5), projid(5) (HISTORY) Dan Walsh dwalsh@redhat.com crio.conf Aleksa Sarai asarai@suse.de Containers containers-storage.conf(5)