-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile:centos8_current
143 lines (130 loc) · 5.43 KB
/
Dockerfile:centos8_current
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
FROM centos:latest
RUN useradd -ms /bin/bash -p tpstps iris
RUN cd /etc/yum.repos.d/ \
&& sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
&& sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \
&& yum update -y
RUN dnf -y install python3 \
&& yum -y install libaio.x86_64 libaio-devel.x86_64 unzip mlocate gcc gcc-c++ vim openssl-libs.x86_64 openssl-devel.x86_64 make gdb.x86_64 tcl.x86_64 wget git libcurl-devel
WORKDIR /home
#Downloading doxygen
RUN yum clean all
WORKDIR /home
RUN wget --content-disposition https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.16.0.zip
#RUN wget --content-disposition http://mirror.centos.org/centos/8/PowerT/ools/aarch64/os/Packages/doxygen-1.8.14-12.el8.aarch64.rpm
RUN wget --content-disposition https://github.com/Kitware/CMake/releases/download/v3.20.0-rc3/cmake-3.20.0-rc3.tar.gz
RUN wget --content-disposition https://github.com/redis/hiredis/archive/refs/tags/v1.2.0.zip
#RUN wget --content-disposition https://sourceforge.net/projects/wsdlpull/files/latest/download
RUN wget --content-disposition https://download.oracle.com/otn_software/linux/instantclient/191000/oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm
RUN wget --content-disposition https://download.oracle.com/otn_software/linux/instantclient/191000/oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64.rpm
RUN wget --content-disposition https://archives.boost.io/release/1.75.0/source/boost_1_75_0.tar.gz
RUN wget --content-disposition https://github.com/zeromq/libzmq/archive/v4.2.3.zip
RUN wget --content-disposition https://github.com/msgpack/msgpack-c/archive/master.zip
#RUN wget --content-disposition https://nodejs.org/dist/v18.20.4/node-v18.20.4-linux-x64.tar.xz
# Installing cmake
RUN tar -xvf cmake-3.20.0-rc3.tar.gz \
&& cd cmake-3.20.0-rc3 \
&& ./bootstrap \
&& make \
&& make install
# Installing hiredis
WORKDIR /home
RUN unzip hiredis-1.2.0.zip \
&& cd hiredis-1.2.0 \
&& make \
&& make install
# INstalling boost
WORKDIR /home
RUN tar -xvf boost_1_75_0.tar.gz
WORKDIR boost_1_75_0
RUN ./bootstrap.sh \
&& ./b2 install -j2; exit 0
WORKDIR /home
# INstalling oracle
RUN dnf -y install libnsl \
&& rpm -ivh oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm \
&& rpm -ivh oracle-instantclient19.10-devel-19.10.0.0.0-1.x86_64.rpm
WORKDIR /home
# #Installing supervisord
# RUN tar -xvf supervisor-4.2.2.tar.gz \
# && cd supervisor-4.2.2 \
# && python3 setup.py install
# RUN wget --content-disposition https://github.com/zeromq/czmq/archive/master.zip
WORKDIR /home
# RUN wget --content-disposition https://github.com/doxygen/doxygen/archive/master.zip \
# && dnf -y install flex \
# && dnf -y install bison \
# && unzip doxygen-master.zip \
# && cd doxygen-master \
# && cmake -G "Unix Makefiles" . \
# && make \
# && make install \
# && cd ../ \
# && tar -xvf wsdlpull-1.24.tar.gz \
# && cd wsdlpull-1.24 \
# && ./configure \
# && make CXXFLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' -j2 \
# && make install \
# && cp /home/wsdlpull-1.24/src/wsdlparser/*.h /usr/local/include/wsdlpull/wsdlparser/ \
# && mkdir /usr/local/include/wsdlpull/xmlpull \
# && cp /home/wsdlpull-1.24/src/xmlpull/*.h /usr/local/include/wsdlpull/xmlpull
# WORKDIR /home
RUN wget --content-disposition https://github.com/zeromq/libzmq/archive/v4.3.4.zip
RUN unzip libzmq-4.3.4.zip \
&& cd libzmq-4.3.4 \
&& mkdir cmake-make \
&& cd cmake-make \
&& cmake .. \
&& make -j3 \
&& make install
RUN wget --content-disposition https://github.com/zeromq/cppzmq/archive/v4.7.1.zip
RUN unzip cppzmq-4.7.1.zip \
&& cd cppzmq-4.7.1 \
&& mkdir build \
&& cd build \
&& cmake -DCPPZMQ_BUILD_TESTS=OFF .. \
&& make -j3 install
WORKDIR /home
RUN wget --content-disposition https://github.com/msgpack/msgpack-c/archive/cpp_master.zip
RUN unzip msgpack-c-cpp_master.zip \
&& cd msgpack-c-cpp_master \
&& cmake . \
&& make \
&& make install
WORKDIR /home
RUN wget --content-disposition https://nodejs.org/dist/v18.20.4/node-v18.20.4-linux-x64.tar.xz
RUN tar -xvf node-v18.20.4-linux-x64.tar.xz \
&& cd node-v18.20.4-linux-x64 \
&& echo 'export PATH=/home/node-v18.20.4-linux-x64/bin:$PATH' >> ~/.bashrc \
&& source ~/.bashrc \
&& cd /usr/lib/oracle/19.10/client64/lib \
&& ln -nsf libocci.so.19.1 libocci.so
EXPOSE 8000-8999
WORKDIR /home
RUN wget --content-disposition https://github.com/protocolbuffers/protobuf/releases/download/v27.3/protobuf-27.3.tar.gz
RUN unzip opentelemetry-cpp-1.16.0 \
&& tar -xvf protobuf-27.3.tar.gz \
&& cd protobuf-27.3/third_party/ \
&& git clone --branch 20240722.0 https://github.com/abseil/abseil-cpp.git \
&& cd abseil-cpp \
&& mkdir build \
&& cd build \
&& cmake -DABSL_PROPAGATE_CXX_STD=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_STANDARD=17 .. \
&& make -j3\
&& make install \
&& updatedb
RUN cd /home/protobuf-27.3/ \
&& mkdir build \
&& cd build \
&& cmake -DWITH_ABSEIL=ON -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON ABSL_PROPAGATE_CXX_STD=ON .. \
&& make -j3 \
&& make install \
&& updatedb
RUN cd /home/opentelemetry-cpp-1.16.0/ \
&& mkdir build \
&& cd build \
&& cmake -DWITH_ABSEIL=ON -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_OTLP_HTTP=ON -DOPENTELEMETRY_INSTALL=ON .. \
&& make -j3 \
&& make install
WORKDIR /home
RUN rm -rf opentelemetry-cpp-1.16.0 protobuf-27.3 hiredis-1.2.0.zip hiredis-1.2.0 boost_1_75_0.tar.gz v1.16.0.zip