Getting Started with Fedora/CentOS bootc

Introduction

The Fedora/CentOS bootc project generates reference "base images" that are designed for use with the bootc project, which is part of the larger bootable containers community.

Container Images

These are the two "full" container images:

  • quay.io/centos-bootc/centos-bootc:stream9 (CentOS Stream 9)

  • quay.io/fedora/fedora-bootc:40 (Fedora 40)

Provisioning Philosophy

It is generally expected that you create a custom container image, derived from one of our base images for deployment.

For more information on configuration, refer to the documentation for Building containers.

Quickstart

Inspecting as a container

You can run any of the containers via any OCI-compliant runtime, such as podman, docker, etc. The images are configured to launch systemd by default, but in order to just inspect the system you will likely want to invoke e.g. bash:

$ podman run --rm -ti quay.io/centos-bootc/centos-bootc:stream9 bash
bash-5.1# rpm -q kernel systemd podman bootc
kernel-5.14.0-432.el9.aarch64
systemd-252-32.el9.aarch64
podman-5.0.0-1.el9.aarch64
bootc-0.1.7-1.el9.aarch64
bash-5.1#

If systemd is launched instead, you can enter the container using e.g. podman exec:

$ podman exec -ti wizardly_kare bash

to get an interactive shell (replace wizardly_kare with the actual container name).

However, it is more interesting to make a custom derived container image, and run it. See Building derived container images.

Booting with local virt and podman-bootc-cli (Linux, macOS)

See Using podman-bootc-cli for a CLI tool that streamlines local virtual machines from a bootc container image (the default ones, or your own derived ones).

Booting with libvirt (Linux)

You can combine two tools (bootc-image-builder and libvirt/virt-install) to get a running local virtual machine starting from the container image.

For users on Linux in particular who do not have podman machine set up (and are running podman natively), this path can be easier. A core tradeoff though is that it requires running podman as real root.

To get started, see qemu and libvirt.

Using Podman Desktop with the bootc extension

Exploring the OS for the first time

By design, there are no hard-coded default credentials or non-root interactive users.

If you set up an SSH key, you can SSH into the VM and explore the OS:

ssh root@<ip address>

Note that the podman-bootc CLI by default automatically invokes ssh in this way.

Other projects:

Established key related and included projects:

Getting in touch

Bugs can be reported to:

For longer discussions related to Fedora/CentOS bootc, use the forum.