Files
container/examples/ctr-example/lab.md
T
Ihor Dvoretskyi 6b8fe3b43f Update example documentation (#406)
- Added README.md for examples directory to provide an overview and
instructions.
- Updated ctr-example README.md with clearer build and run instructions.
- Improved lab.md with a dynamic command to fetch the latest kernel.

Signed-off-by: Ihor Dvoretskyi <ihor@linux.com>
2025-11-12 14:30:01 -08:00

59 lines
1.3 KiB
Markdown

#
## Install and test the container tool:
See https://github.com/apple/container/releases
Once installed, start the service and follow prompts.
```bash
container system start
```
This'll install your kernel.
After this start your first container. On first launch, this'll install another artifact for our guest init process:
```
container run alpine uname
```
Container starts after this will be fast!
## Get the Containerization sources:
```bash
$ git clone https://github.com/apple/containerization.git
```
> [!IMPORTANT]
> There is a bug in the `vmnet` framework on macOS 26 that causes network creation to fail if the creating applications are located under your `Documents` or `Desktop` directories. To workaround this, clone the project elsewhere, such as `~/projects/containerization`, until this issue is resolved.
## Take a look at ctr-example
Read through the sources:
- ContainerManager:
- manager.create()
- container.create(), start(), wait(), stop()
## Fetch the kernel
Run
```bash
cp "$(ls -t ~/Library/Application\ Support/com.apple.container/kernels/vmlinux-* | head -1)" ./vmlinux
```
## Build and run the example
```bash
$ cd examples/ctr-example
$ make
```
## Modify the project
- Change the command run by the container
- Change the image