Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 3.81 KB

README.md

File metadata and controls

74 lines (49 loc) · 3.81 KB

🏗️🏗️ Introducing bootable container images! 🏗️🏗️

What are bootable container images?

As the name suggests, bootable container images differ from general purpose containers as the underlying image they use contains all necessary bits to make it act exactly like a standard OS, including modules, systemd, etc. They use specific tailored base images that include a Linux kernel and upon boot systemd is running as pid1 as in a "standard" OS.

Tip

Read more in the mission statement

How are they different?

Bootable container images can enable a 360° integrated container-native workflow that covers the underlying OS up to the application layer. They benefit of a set of dedicated tools (bootc, bootc-image-builder, etc) to compose, build and distribute images that can be defined using common Containerfile structure and instructions.

Some of the main features are:

  • Bootable container images goal is to provide a way to deploy and manage immutable image-based Linux systems
  • Bootable container images images can act as a source to build VMs/Cloud images.
  • Bootable container images images can be used as a source to install and configure a new server/VM using kickstart/Anaconda
  • Bootable container images simplify testing applications on different architectures/platforms
  • Bootable container images streamline OS updates leveraging the rpm-ostree system

🎯🎯 Let's get started 🎯🎯

Creating a bootable container is as easy as writing and running a Containerfile like this, in this case using a CentOS Stream 9 base image:

FROM quay.io/centos-bootc/centos-bootc:stream9
CMD [ "/sbin/init" ]

You can proceed customizing the image, adding users, packages, configurations, etc following the Dockerfile Reference

Use Cases

In this repo you will find some use cases that explain and show bootable container images in action!

Getting started with bootable container images

Managing VM lifecycle with bootable container images

Generate and deploy VM Images, AMI and ISO images with bootc-image-builder

Resources