Skip to content

Instantly share code, notes, and snippets.

@duyhenryer
Last active November 4, 2025 06:55
Show Gist options
  • Select an option

  • Save duyhenryer/21b667192969343e669b8d672b20be5c to your computer and use it in GitHub Desktop.

Select an option

Save duyhenryer/21b667192969343e669b8d672b20be5c to your computer and use it in GitHub Desktop.

bootc

image
Transactional, in-place operating system updates using OCI/Docker container images.

What is a Bootable Container?

image

Updating Bootable Containers

image

basic concepts

  • Bootc
  • Filesystem Layout: https://docs.fedoraproject.org/en-US/bootc/filesystem/
    • Bootc systems follow the concept of an immutable operating system. Apart from the following two exceptions, /etc and /var, all directories are mounted read-only once deployed on a physical or virtual machine
    • composefs for the root filesystem by default. https://github.com/composefs/composefs
  • systemd: systemd is NOT running in a standard container-build environment.
    • Starting a systemd service via systemctl start, for instance, will not work.
    • Configuring a service to start at boot time via systemctl enable, however, works.
  • Base Images:
    • Fedora
    • CentOS Stream
    • Red Hat Enterprise Linux (RHEL)
  • Building bootc Images
  • Conversion to Disk Images
  • Running as a container
  • podman-bootc
  • Authentication, Users, Groups
  • Installing on Bare Metal
  • Updating Bootable Containers
  • Building disk images
    • raw: Common image format used by many virtualization tools
    • qcow: An image format primarily used by QEMU
    • iso: For creating bootable media using tools like Balena Etcher
    • vmdk: For creating VMs using VMWare Workstation or ESXi
    • ami: For creating virtual servers on Amazon EC2

best practices

You may find solutions in our examples repository. https://gitlab.com/fedora/bootc/examples


ref

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment