2
0

Dockerfile 965 B

1234567891011121314151617181920212223242526272829303132333435
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. ARG BASE_IMAGE=ubuntu:latest
  4. ARG GRPC_IMAGE=grpc-${BASE_IMAGE}
  5. FROM ${GRPC_IMAGE} as grpc
  6. FROM base-${BASE_IMAGE}-dev AS otel-cpp
  7. ARG CORES=${nproc}
  8. ARG OTEL_GIT_TAG=v1.3.0
  9. COPY --from=grpc / /usr/local
  10. #install opentelemetry-cpp
  11. RUN git clone --recurse-submodules -j ${CORES} --depth=1 \
  12. -b ${OTEL_GIT_TAG} https://github.com/open-telemetry/opentelemetry-cpp.git \
  13. && cd opentelemetry-cpp \
  14. && mkdir -p build && cd build \
  15. && cmake \
  16. -DCMAKE_BUILD_TYPE=Release \
  17. -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
  18. -DWITH_ZIPKIN=ON \
  19. -DCMAKE_INSTALL_PREFIX=/opt/third_party/install \
  20. -DBUILD_TESTING=OFF \
  21. -DWITH_OTLP_GRPC=ON \
  22. -DWITH_OTLP_HTTP=ON \
  23. -DBUILD_SHARED_LIBS=ON \
  24. .. \
  25. && cmake --build . -j ${CORES} --target install
  26. FROM scratch as final
  27. COPY --from=otel-cpp /opt/third_party/install /