Constructing the Application Filesystem
Unikraft Cloud images consist of two parts:
- The runtime image is the core component that consists of the kernel, core libraries and the language runtime.
- The application filesystem that stores the application executable, scripts, configuration files and application-specific libraries and frameworks.
Runtime images are provided by the UKC 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 Unikraft Cloud to generate application filesystems.
KraftKit (and UKC) 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 to UKC.
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.