Apple Container
Dagger can be used with any OCI-compatible container runtime, including container
from Apple.
The support for Apple's container
is still early and experimental.
How it works​
By default, Dagger tries to invoke the docker
executable at some points during the invocation of dagger
. Since container
is partially CLI-compatible with Docker, some functionality works out of the box, and there is a way to get running by combining a symbolic link named docker
pointing to the container
executable, together with the approach of Custom Runner support.
Prerequisites​
- Apple's
container
installed and API server running on the host system, throughcontainer system start
.
Example​
To use container
with Dagger:
Create a symbolic link in a superior PATH
position as below:
sudo ln -s $(which container) /usr/local/bin/docker
Start the Dagger Engine using appropriate values for memory and cpus:
container run --rm -d \
--memory 16G \
--cpus 4 \
--name dagger-engine-custom \
registry.dagger.io/engine:v0.18.12
Set this environment variable wherever you want to reach your Dagger Engine:
export _EXPERIMENTAL_DAGGER_RUNNER_HOST=docker-container://dagger-engine-custom
There is no container ps
, so use container ls
to check if the Dagger Engine is running.
Resources​
If you have any questions about additional ways to use Apple's container
with Dagger, join our Discord and ask your questions in our #macos channel.
About Apple's container
​
Apple's container
is a tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.