liveBook · Manning

Chapter 5: Customization and configuration files

What you will learn in chapter 5 of Podman in Action: Secure, rootless containers for Kubernetes, microservices, and more

The chapter introduces why Podman’s defaults may need customization and previews the configuration files and format used to change them.

After this chapter you will be able to

What it builds on

Section by section

Introduction

The chapter introduces why Podman’s defaults may need customization and previews the configuration files and format used to change them.

Key terms: defaults, rootless, rootful, configuration files, storage.conf, registries.conf, policy.json, containers.conf, Buildah, TOML

5.1 Configuration files for storage

This section introduces storage.conf, where Podman finds it, and how to identify the file in use.

Key terms: containers/storage, storage.conf, filesystem layers, $XDG_CONFIG_HOME/containers/storage.conf, $HOME/.config/containers/storage.conf, /etc/containers/storage.conf, /usr/share/containers/storage.conf, podman info, remote mode, Podman service

5.1.1 Storage location

This section shows how to change Podman’s rootful and rootless storage locations and notes the SELinux work required when storage moves.

Key terms: graphroot, storage.conf, podman info, rootless, rootless_storage_path, $HOME/.config/containers/storage.conf, $HOME, $UID, SELinux, semanage

5.1.2 Storage drivers

This section explains how storage drivers assemble layered container images and introduces two overlay driver options for rootless and single-UID environments.

Key terms: containers/storage, image layers, layered filesystem, copy-on-write (CoW), storage driver, overlay, storage.conf, [storage.options.overlay], mount_program, fuse-overlayfs

5.2 Configuration files for registries

This section introduces the files that configure image registries and signature verification, while noting that most users rely on distribution defaults.

Key terms: github.com/containers/image, registries.conf, policy.json, signature verification, distribution defaults, storage.conf

5.2.1 registries.conf

This section shows how registries.conf controls where Podman looks for images, which registries it blocks, and when it pulls from a mirror.

Key terms: registries.conf, $HOME/.config/containers/registries.conf, /etc/containers/registries.conf, remote mode, podman machine ssh, unqualified-search-registries, short names, podman info, [[registry]], docker.io

5.3 Configuration files for engines

This section explains how containers.conf sets Podman’s non-storage, non-registry defaults and shows how to adapt those defaults for running Podman inside a container.

Key terms: containers.conf, rootless, CONTAINERS_CONF, built-in defaults, tables, env, foo=bar, namespaces, quay.io/podman/stable, cgroups

5.4 System configuration files

This section explains how rootless Podman uses system files to allocate subordinate IDs, why those allocations must not overlap, and how to apply changes after Podman has started.

Key terms: /etc/subuid, /etc/subgid, UID ranges, GID ranges, newuidmap, newgidmap, subordinate ID ranges, useradd, user namespace, podman pause process

5.5 Summary

The summary maps Podman’s configuration files to the storage, registry, general-default, and rootless user-namespace settings they control.

Where this is used later

Concepts explained in this chapter

← Chapter 4: Pods Chapter 6: Rootless containers →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.