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 BUILDKIT_HOST
.
To use a buildkit daemon listening on an unix domain socket (usually in /var/run
or /run
):
export BUILDKIT_HOST=unix:///var/run/buildkit/buildkitd.sock
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:
export BUILDKIT_HOST=tcp://localhost:1234
To use a buildkit daemon running in a container named "super-buildkit" on the local docker host:
export BUILDKIT_HOST=docker-container://super-buildkit
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 DOCKER_HOST
.
export DOCKER_HOST=ssh://user@IP
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
OpenTelemetry Support
Both Dagger and buildkit support opentelemetry. To capture traces to
Jaeger, set the OTEL_EXPORTER_JAEGER_ENDPOINT
environment variable to the collection address.
A docker-compose
file is available to help bootstrap the tracing environment:
docker-compose -f ./dagger-main/tracing.compose.yaml up -d
export BUILDKIT_HOST=docker-container://dagger-buildkitd-jaeger
export OTEL_EXPORTER_JAEGER_ENDPOINT=http://localhost:14268/api/traces
export JAEGER_TRACE=localhost:6831
dagger up
You can then go to http://localhost:16686/ in your browser to see the traces.