Skip to content

Constructing the Application Filesystem

KraftCloud images consist of two parts:

  1. The runtime image is the core component that consists of the kernel, core libraries and the language runtime.
  2. The application filesystem that stores the application executable, scripts, configuration files and application-specific libraries and frameworks.

Runtime images are provided by the KraftCloud registry. They are referenced by the runtime entry in the Kraftfile.

Application filesystems need to be provided by the application developer. They are referenced by the rootfs entry in the Kraftfile.

The typical way to define an application filesystem is via a Dockerfile. The Dockerfile is a specification of how to build a container filesystem. It is used both by Docker and by KraftCloud to generate application filesystems. KraftKit (and KraftCloud) makes use of BuildKit to generate the application filesystem, based on the Dockerfile specification.

Because of this, you can use Docker as the runtime to test the specification in the Dockerfile, before deploying that with KraftCloud. This is particularly useful in the process of creating the specification in the Dockerfile.

Find out more about the creation of the Dockerfile, the construction of application filesystem and the use of Docker in the “Adding Application to the Catalog” guide for Unikraft.