You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/guides/catalog-behind-the-scenes.mdx
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: |
5
5
It shows what is happening behind the scenes and how you can get more control on the build and run phases.
6
6
---
7
7
8
-
The [guide on using the application catalog](/guides/using-the-app-catalog) provides the user-friendly information on using the Unikraft application registry and the [`catalog` repository](https://github.com/unikraft/catalog).
8
+
The [guide on using the application catalog](/guides/using-the-app-catalog) provides user-friendly information on using the Unikraft application registry and the [`catalog` repository](https://github.com/unikraft/catalog).
9
9
It presents some hints into what's happening behind the scenes, but it aims to keep the user away for this.
10
10
This guide takes a deep dive into the internals of configuring, building and running Unikernel applications from the catalog.
11
11
It is aimed for those more technically inclined who would be interested in understanding what's happening behind the scenes and maybe [contribute to the application catalog](/docs/contributing/adding-to-the-app-catalog).
@@ -38,7 +38,7 @@ The `Kraftfile` defines the:
38
38
- root filesystem used to build the (embedded) initrd
39
39
40
40
The root filesystem is generated from a `Dockerfile` specification, as configured in the `Kraftfile`.
41
-
The `Dockerfile` specification collects the required files (binary executable, depending libraries, configuration files, data files):
41
+
The `Dockerfile` specification collects the required files (binary executable, depending libraries, configuration files, and data files):
42
42
43
43
```dockerfile
44
44
FROM --platform=linux/x86_64 nginx:1.25.3-bookworm AS build
@@ -141,13 +141,13 @@ Query it using:
141
141
curl http://localhost:8080
142
142
```
143
143
144
-
If you want use a bridge interface, first create the bridge interface as `root` (prefix with `sudo` if required):
144
+
If you want to use a bridge interface, first create the bridge interface as `root` (prefix with `sudo` if required):
145
145
146
146
```bash
147
147
kraft net create -n 172.44.0.1/24 virbr0
148
148
```
149
149
150
-
An the run manually with `qemu-system-x86_64` as `root` (prefix with `sudo` if required):
150
+
And then run manually with `qemu-system-x86_64` as `root` (prefix with `sudo` if required):
151
151
152
152
```bash
153
153
qemu-system-x86_64 \
@@ -171,7 +171,7 @@ To close the running QEMU instance, use `Ctrl+a x` in the QEMU console.
171
171
## HTTP Go Server
172
172
173
173
For the [`http-go1.21` bincompat example](https://github.com/unikraft/catalog/tree/main/examples/http-go1.21), there is no build phase, only a run phase.
174
-
The example it's using a prebuilt kernel image.
174
+
The example is using a prebuilt kernel image.
175
175
The prebuilt [`base` kernel image](https://github.com/unikraft/catalog/tree/main/library/base) is pulled from the registry, from `unikraft.org/base`.
176
176
This happens during the run phase.
177
177
@@ -197,7 +197,7 @@ The `Kraftfile` defines:
197
197
- the available run targets: currently only x86_64-based builds are available, and only KVM-based builds, using QEMU or Firecracker
198
198
199
199
The root filesystem is generated from a `Dockerfile` specification, as configured in the `Kraftfile`.
200
-
The `Dockerfile` specification collects the required files (binary executable, depending libraries, configuration files, data files):
200
+
The `Dockerfile` specification collects the required files (binary executable, depending libraries, configuration files, and data files):
201
201
202
202
```dockerfile
203
203
FROM golang:1.21.3-bookworm AS build
@@ -243,7 +243,7 @@ kraft run -W -p 8080:8080 .
243
243
244
244
1. It pulls the kernel package from the registry, from `unikraft.org/base:latest`.
245
245
1. It generates the root filesystem, via BuildKit from the `Dockerfile` specification.
246
-
The generation of the root filesystem implies the building the Go source code files into a binary executable (`ELF`).
246
+
The generation of the root filesystem implies the building of the Go source code files into a binary executable (`ELF`).
247
247
The executable, together with the depending libraries is then extracted into the root filesystem.
248
248
1. It packs the root filesystem in an initial ramdisk (initrd).
249
249
1. It runs the kernel attaching the initrd and using the command line in the specification: `/http_server`.
@@ -316,13 +316,13 @@ Query it using:
316
316
curl http://localhost:8080
317
317
```
318
318
319
-
If you want use a bridge interface, first create the bridge interface as `root` (prefix with `sudo`if required):
319
+
If you want to use a bridge interface, first create the bridge interface as `root` (prefix with `sudo`if required):
320
320
321
321
```bash
322
322
kraft net create -n 172.44.0.1/24 virbr0
323
323
```
324
324
325
-
An the run manually with `qemu-system-x86_64` as `root` (prefix with `sudo`if required):
325
+
And then run manually with `qemu-system-x86_64` as `root` (prefix with `sudo`if required):
0 commit comments