Skip to content

Latest commit

 

History

History
58 lines (37 loc) · 1.25 KB

File metadata and controls

58 lines (37 loc) · 1.25 KB

Install and test the container tool:

See https://github.com/apple/container/releases

Once installed, start the service and follow prompts.

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:

$ 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

cp "$(ls -t ~/Library/Application\ Support/com.apple.container/kernels/vmlinux-* | head -1)" ./vmlinux

Build and run the example

$ cd examples/ctr-example
$ make

Modify the project

  • Change the command run by the container
  • Change the image