Dockerfile.centos 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. FROM centos:7
  4. ARG TOOLSET_VER=11
  5. RUN yum update -y && yum install -y centos-release-scl epel-release
  6. RUN yum install -y devtoolset-${TOOLSET_VER} \
  7. cmake3 git \
  8. openssl-devel \
  9. libcurl-devel \
  10. && source /opt/rh/devtoolset-${TOOLSET_VER}/enable
  11. RUN echo "source /opt/rh/devtoolset-${TOOLSET_VER}/enable" >> /etc/bashrc
  12. ARG GRPC_VERSION=v1.43.2
  13. # install gRPC
  14. RUN git clone --depth=1 -b $GRPC_VERSION https://github.com/grpc/grpc.git \
  15. && cd grpc && git submodule update --init \
  16. && mkdir -p "third_party/abseil-cpp/build" && cd "third_party/abseil-cpp/build" \
  17. && source /opt/rh/devtoolset-${TOOLSET_VER}/enable \
  18. && cmake3 -DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE .. \
  19. && make -j${nproc} install && cd ../../.. \
  20. && mkdir build && cd build \
  21. && cmake3 \
  22. -DCMAKE_CXX_STANDARD=17 \
  23. -DCMAKE_BUILD_TYPE=Release \
  24. -DgRPC_INSTALL=ON \
  25. -DgRPC_BUILD_TESTS=OFF \
  26. -DgRPC_ABSL_PROVIDER=package \
  27. -DgRPC_SSL_PROVIDER=package \
  28. .. && \
  29. make -j${nproc} install && make clean && ldconfig
  30. #install opentelemetry-cpp
  31. RUN git clone --depth=1 https://github.com/open-telemetry/opentelemetry-cpp.git \
  32. && cd opentelemetry-cpp && git submodule update --init \
  33. && mkdir -p build && cd build \
  34. && source /opt/rh/devtoolset-${TOOLSET_VER}/enable \
  35. && cmake3 \
  36. -DCMAKE_BUILD_TYPE=Release \
  37. -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
  38. -DWITH_ZIPKIN=ON \
  39. -DBUILD_TESTING=OFF \
  40. -DWITH_OTLP_GRPC=ON \
  41. -DWITH_OTLP_HTTP=ON \
  42. .. \
  43. && make -j${nproc} install && ldconfig