Customizing your Buildkit installation
This documentation is for an older version of Dagger, which is no longer actively maintained.
We encourage you to upgrade and refer to the documentation for the most current version.
If you cannot upgrade to the latest version, please contact us in the help forum on Discord. When contacting us, please let us know why you cannot move to the latest version. From there, our team will work with you on your use case.
Using a custom buildkit daemon
Dagger can be configured to use an existing buildkit daemon, running either locally or remotely. This can be done using the environment variable
To use a buildkit daemon listening on an unix domain socket (usually in
Make sure the user running dagger has appropriate permissions (
rw) on the socket file.
To use a buildkit daemon listening on TCP port
1234 on localhost:
To use a buildkit daemon running in a container named "super-buildkit" on the local docker host:
Using a custom remote buildkit running in Docker
Dagger can also be configured to use a remote buildkit daemon running in a Docker container. This an be done using the environment variable
You will also need to set the
BUILDKIT_HOST environment variable explained above.
Running a custom buildkit container in Docker
To run a customized Buildkit version with Docker, this can be done using the below command:
docker run -d --name dagger-buildkitd --privileged --network=host docker.io/moby/buildkit:latest
Both Dagger and buildkit support opentelemetry. To capture traces to
Jaeger, set the
OTEL_EXPORTER_JAEGER_ENDPOINT environment variable to the collection address.
docker-compose file is available to help bootstrap the tracing environment:
docker-compose -f ./dagger-main/tracing.compose.yaml up -d
You can then go to http://localhost:16686/ in your browser to see the traces.