Provisioning Fedora/CentOS bootc locally with podman-bootc-cli

The podman-bootc-cli tool streamlines a local virtualization experience.

This is not yet shipped in Fedora derivatives but will be soon. At the moment for Fedora or derivatives the recommendation is to build from source. See the upstream web site for installation instructions.

This command will "self-install" the container into a disk image behind the scenes, and launch an interactive SSH session.

$ podman-bootc run quay.io/centos-bootc/centos-bootc:stream9
There is no default root filesystem type configured for the Fedora base images; you can select one in this way:
$ podman-bootc run --filesystem xfs quay.io/fedora/fedora-bootc:40

For more information on configuring storage, see Storage.

Other useful commands include:

  • podman-bootc list

  • podman-bootc ssh

  • podman-bootc rm

The podman-bootc command can also directly run your custom derived container images!
$ podman-bootc run quay.io/exampleuser/mycustom-image:latest

Understanding authentication

The podman-bootc-cli tool streamlines logging into the generated disk images by injecting a default SSH key for the root user via systemd credentials passed to the hypervisor, and further automatically invoking ssh to get an interactive shell.

This maximizes convenience for testing locally, while supporting a container image that is intended to be deployed via e.g. Anaconda and e.g. a kickstart-provided SSH key to bare metal.

Or, you may be creating a container image that is intended to run via a fully "git-ops" fashion where it is not allowed to SSH in at all for production scenarios. This can be done by simply not including any SSH keys in your container image or disk image generation phases, but the podman-bootc CLI helps inject a key for local development/testing scenarios.