Docker deployment


Get and run the demo

  1. Clone the Demo repository:

    git clone
  2. Change to the demo folder:

    cd opentelemetry-demo/
  3. Run docker compose1 to start the demo:

    docker compose up --no-build


    • The --no-build flag is used to fetch released docker images from ghcr instead of building from source. Removing the --no-build command line option will rebuild all images from source. It may take more than 20 minutes to build if the flag is omitted.
    • If you’re running on Apple Silicon, run docker compose build1 in order to create local images vs. pulling them from the repository.

Verify the web store and Telemetry

Once the images are built and containers are started you can access:

Bring your own backend

Likely you want to use the web store as a demo application for an observability backend you already have (e.g., an existing instance of Jaeger, Zipkin, or one of the vendor of your choice.

OpenTelemetry Collector can be used to export telemetry data to multiple backends. By default, the collector in the demo application will merge the configuration from two files:

  • otelcol-config.yml
  • otelcol-config-extras.yml

To add your backend, open the file src/otelcollector/otelcol-config-extras.yml with an editor.

  • Start by adding a new exporter. For example, if your backend supports OTLP over HTTP, add the following:

        endpoint: <your-endpoint-url>
  • Then add a new pipeline with your new exporter:

          receivers: [otlp]
          processors: [batch]
          exporters: [otlphttp/example]

Vendor backends might require you to add additional parameters for authentication, please check their documentation. Some backends require different exporters, you may find them and their documentation available at opentelemetry-collector-contrib/exporter.

After updating the otelcol-config-extras.yml, start the demo by running docker compose up1. After a while, you should see the traces flowing into your backend as well.

  1. docker-compose is deprecated. For details, see Migrate to Compose V2↩︎ ↩︎ ↩︎