This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/docs/guides/1223-custom-buildkit.md
rrylee b29cfa1fc3 docs: discard opentracing doc, using opentelemetry
Signed-off-by: rrylee <rrylee1994@gmail.com>
2022-04-15 21:47:44 +08:00

57 lines
1.8 KiB
Markdown

---
slug: /1223/custom-buildkit/
---
# Customizing your Buildkit installation
## 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 TCP port `1234` on localhost:
```shell
export BUILDKIT_HOST=tcp://localhost:1234
```
To use a buildkit daemon running in a container named "super-buildkit" on the local docker host:
```shell
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`.
```shell
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:
```shell
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](https://github.com/jaegertracing/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:
```shell
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
dagger up
```
You can then go to [http://localhost:16686/](http://localhost:16686/) in your browser to see the traces.