chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user