Dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. FROM ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02
  4. ENV DEBIAN_FRONTEND=noninteractive
  5. WORKDIR /work
  6. #install grpc and abseil
  7. ARG GRPC_VERSION=v1.38.0
  8. RUN apt-get update && apt-get install -y build-essential autoconf libtool pkg-config cmake git libssl-dev && \
  9. git clone --depth=1 -b $GRPC_VERSION https://github.com/grpc/grpc.git && \
  10. cd grpc && git submodule update --init && \
  11. mkdir -p "third_party/abseil-cpp/build" && cd "third_party/abseil-cpp/build" && \
  12. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE .. && \
  13. make -j${nproc} install && cd ../../.. && \
  14. mkdir build && cd build && \
  15. cmake \
  16. -DCMAKE_BUILD_TYPE=Release \
  17. -DgRPC_INSTALL=ON \
  18. -DgRPC_BUILD_TESTS=OFF \
  19. -DgRPC_ABSL_PROVIDER=package \
  20. -DgRPC_SSL_PROVIDER=package \
  21. .. && \
  22. make -j${nproc} install && make clean && ldconfig && \
  23. cd ../..
  24. #install opentelemetry-cpp
  25. RUN apt-get install -y --no-install-recommends libcurl4-openssl-dev && git clone --depth=1 https://github.com/open-telemetry/opentelemetry-cpp.git && \
  26. cd opentelemetry-cpp && git submodule update --init && \
  27. mkdir -p build && cd build && \
  28. cmake \
  29. -DCMAKE_BUILD_TYPE=Release \
  30. -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
  31. -DWITH_ZIPKIN=ON \
  32. -DBUILD_TESTING=OFF \
  33. -DWITH_OTLP_GRPC=ON \
  34. -DWITH_OTLP_HTTP=ON \
  35. .. && \
  36. make -j${nproc} install && ldconfig && \
  37. cd ../..