Skip to content

Commit 406e232

Browse files
committed
Replace explicit platform references in centos Dockerfiles
1 parent ba3dfe3 commit 406e232

File tree

4 files changed

+40
-25
lines changed

4 files changed

+40
-25
lines changed

.github/workflows/webserver.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,9 @@ jobs:
218218
# run: |
219219
# cd instrumentation/otel-webserver-module
220220
# docker buildx build -t apache_centos7_arm64 -f docker/centos7/Dockerfile \
221-
# --load . --platform linux/arm64
221+
# --load . --platform linux/arm64 --build-arg BUILD_ARCH='arm64' \
222+
# --build-arg CMAKE_ARCH='aarch64' --build-arg GOSU_ARCH='arm64' \
223+
# --build-arg JDK_ARCH='aarch64' --build-arg NGINX_ARCH='aarch64'
222224
# - name: build
223225
# run: |
224226
# docker run -idt --platform linux/arm64 --name apache_centos7_container_arm64 apache_centos7_arm64 /bin/bash

instrumentation/otel-webserver-module/Dockerfile

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
FROM centos:6.9
22

33
ARG BUILD_NUMBER
4+
ARG BUILD_ARCH='x64'
45

5-
LABEL NAME=apm/build-image-webserver-agent-centos6-x64 VERSION=$BUILD_NUMBER
6+
LABEL NAME=apm/build-image-webserver-agent-centos6-${BUILD_ARCH} VERSION=$BUILD_NUMBER
67

7-
ENV GOSU_ARCH amd64
8-
ENV JDK_ARCH x64
8+
ARG GOSU_ARCH='amd64'
9+
ENV GOSU_ARCH=${GOSU_ARCH}
10+
ARG JDK_ARCH='x64'
11+
ENV JDK_ARCH=${JDK_ARCH}
912

1013
ARG PYTHON_VERSION="2.7.8"
14+
ARG CMAKE_ARCH='x86_64'
1115
ARG CMAKE_VERSION="3.20"
1216
ARG CMAKE_0VERSION="3.20.0"
1317
ARG GRPC_VERSION="1.36.4"
@@ -24,6 +28,7 @@ ARG LOG4CXX_VERSION="0.11.0"
2428
ARG GTEST_VERSION="1.10.0"
2529
ARG AUTOMAKE_VERSION="1.16.3"
2630
ARG PCRE_VERSION="8.44"
31+
ARG NGINX_ARCH='x86_64'
2732
ARG NGINX_VERSION="1.24.0"
2833

2934

@@ -75,7 +80,7 @@ RUN wget http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERS
7580
# install gosu for easy step-down from root (from https://github.com/tianon/gosu/blob/master/INSTALL.md#from-centos)
7681
ENV GOSU_VERSION=1.10
7782

78-
RUN curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64" \
83+
RUN curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}" \
7984
&& chmod +x /usr/bin/gosu \
8085
# Verify that the binary works
8186
&& gosu nobody true
@@ -85,11 +90,11 @@ RUN yum install git -y \
8590
&& yum clean all
8691

8792
# install cmake
88-
RUN wget https://cmake.org/files/v${CMAKE_VERSION}/cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz \
89-
&& tar -xvf cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz \
90-
&& cd cmake-${CMAKE_0VERSION}-linux-x86_64 \
93+
RUN wget https://cmake.org/files/v${CMAKE_VERSION}/cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz \
94+
&& tar -xvf cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz \
95+
&& cd cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH} \
9196
&& cp -rf * /usr/local/ \
92-
&& cd .. && rm -rf cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz
97+
&& cd .. && rm -rf cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz
9398

9499
# install grpc. If planning to upgrade, make sure sed command works
95100
RUN git clone https://github.com/grpc/grpc \
@@ -257,13 +262,13 @@ RUN cp -r /dependencies /otel-webserver-module/ \
257262

258263
RUN echo '[nginx]' >> /etc/yum.repos.d/nginx.repo \
259264
&& echo 'name=nginx repo' >> /etc/yum.repos.d/nginx.repo \
260-
&& echo 'baseurl=https://nginx.org/packages/centos/6/x86_64' >> /etc/yum.repos.d/nginx.repo \
265+
&& echo "baseurl=https://nginx.org/packages/centos/6/${NGINX_ARCH}" >> /etc/yum.repos.d/nginx.repo \
261266
&& echo 'gpgcheck=0' >> /etc/yum.repos.d/nginx.repo \
262267
&& echo 'enabled=1' >> /etc/yum.repos.d/nginx.repo \
263268
&& yum install nginx -y
264269

265270
RUN cd /otel-webserver-module/build \
266-
&& tar -xf opentelemetry-webserver-sdk-x64-linux.tgz \
271+
&& tar -xf opentelemetry-webserver-sdk-${BUILD_ARCH}-linux.tgz \
267272
&& mv -f opentelemetry-webserver-sdk /opt/ \
268273
&& cd ../ \
269274
&& cp opentelemetry_module.conf /etc/httpd/conf/ \
@@ -278,7 +283,7 @@ RUN cp /otel-webserver-module/conf/nginx/opentelemetry_module.conf /opt/ \
278283
&& cd /
279284

280285
# Remove unwanted files
281-
RUN rm -rf grpc && rm -rf autoconf-${AUTOCONF_VERSION} && rm -rf automake-${AUTOMAKE_VERSION} && rm -rf cmake-${CMAKE_VERSION}-linux-x86_64 \
286+
RUN rm -rf grpc && rm -rf autoconf-${AUTOCONF_VERSION} && rm -rf automake-${AUTOMAKE_VERSION} && rm -rf cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH} \
282287
&& rm -rf libtool-${LIBTOOL_VERSION} && rm -rf Python-${PYTHON_VERSION} \
283288
&& rm -f apr-${APR_VERSION}.tar.gz && rm -f apr-util-${APRUTIL_VERSION}.tar.gz \
284289
&& rm -f httpd-2.2.31.tar.gz && rm -f httpd-2.4.23.tar.gz

instrumentation/otel-webserver-module/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,9 @@ model {
602602
release
603603
}
604604
platforms {
605+
arm {
606+
architecture "arm64"
607+
}
605608
x86 {
606609
architecture "x86"
607610
}

instrumentation/otel-webserver-module/docker/centos7/Dockerfile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
FROM centos:7
22

33
ARG BUILD_NUMBER
4+
ARG BUILD_ARCH='x64'
45

5-
LABEL NAME=apm/build-image-webserver-agent-centos6-x64 VERSION=$BUILD_NUMBER
6+
LABEL NAME=apm/build-image-webserver-agent-centos6-${BUILD_ARCH} VERSION=$BUILD_NUMBER
67

7-
ENV GOSU_ARCH amd64
8-
ENV JDK_ARCH x64
8+
ARG GOSU_ARCH='amd64'
9+
ENV GOSU_ARCH=${GOSU_ARCH}
10+
ARG JDK_ARCH='x64'
11+
ENV JDK_ARCH=${JDK_ARCH}
912

1013
ARG PYTHON_VERSION="2.7.8"
14+
ARG CMAKE_ARCH='x86_64'
1115
ARG CMAKE_VERSION="3.20"
1216
ARG CMAKE_0VERSION="3.20.0"
1317
ARG GRPC_VERSION="1.36.4"
@@ -26,6 +30,7 @@ ARG AUTOMAKE_VERSION="1.16.3"
2630
ARG PERL_VERSION="5.20.2"
2731
ARG PERL_CPANVERSION="5.0"
2832
ARG PCRE_VERSION="8.44"
33+
ARG NGINX_ARCH='x86_64'
2934
ARG NGINX_VERSION="1.24.0"
3035

3136
# create default non-root user
@@ -76,12 +81,12 @@ RUN wget http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERS
7681
# install gosu for easy step-down from root (from https://github.com/tianon/gosu/blob/master/INSTALL.md#from-centos)
7782
ENV GOSU_VERSION=1.10
7883
#RUN gpg --keyserver pgp.mit.edu --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
79-
# && curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64" \
80-
# && curl -o /usr/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64.asc" \
84+
# && curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}" \
85+
# && curl -o /usr/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}.asc" \
8186
# && gpg --verify /usr/bin/gosu.asc \
8287
# && rm /usr/bin/gosu.asc \
8388
# && rm -r /root/.gnupg/ \
84-
RUN curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64" \
89+
RUN curl -o /usr/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}" \
8590
&& chmod +x /usr/bin/gosu \
8691
# Verify that the binary works
8792
&& gosu nobody true
@@ -91,11 +96,11 @@ RUN yum install git -y \
9196
&& yum clean all
9297

9398
# install cmake 3.20
94-
RUN wget https://cmake.org/files/v${CMAKE_VERSION}/cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz \
95-
&& tar -xvf cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz \
96-
&& cd cmake-${CMAKE_0VERSION}-linux-x86_64 \
99+
RUN wget https://cmake.org/files/v${CMAKE_VERSION}/cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz \
100+
&& tar -xvf cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz \
101+
&& cd cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH} \
97102
&& cp -rf * /usr/local/ \
98-
&& cd .. && rm -rf cmake-${CMAKE_0VERSION}-linux-x86_64.tar.gz
103+
&& cd .. && rm -rf cmake-${CMAKE_0VERSION}-linux-${CMAKE_ARCH}.tar.gz
99104

100105
# install grpc. If planning to upgrade, make sure sed command works
101106
RUN git clone https://github.com/grpc/grpc \
@@ -273,13 +278,13 @@ RUN cp -r /dependencies /otel-webserver-module/ \
273278

274279
RUN echo '[nginx]' >> /etc/yum.repos.d/nginx.repo \
275280
&& echo 'name=nginx repo' >> /etc/yum.repos.d/nginx.repo \
276-
&& echo 'baseurl=https://nginx.org/packages/centos/7/x86_64' >> /etc/yum.repos.d/nginx.repo \
281+
&& echo "baseurl=https://nginx.org/packages/centos/7/${NGINX_ARCH}" >> /etc/yum.repos.d/nginx.repo \
277282
&& echo 'gpgcheck=0' >> /etc/yum.repos.d/nginx.repo \
278283
&& echo 'enabled=1' >> /etc/yum.repos.d/nginx.repo \
279284
&& yum install nginx-${NGINX_VERSION} -y
280285

281286
RUN cd /otel-webserver-module/build \
282-
&& tar -xf opentelemetry-webserver-sdk-x64-linux.tgz \
287+
&& tar -xf opentelemetry-webserver-sdk-${BUILD_ARCH}-linux.tgz \
283288
&& mv -f opentelemetry-webserver-sdk /opt/ \
284289
&& cd ../ \
285290
&& cp opentelemetry_module.conf /etc/httpd/conf/ \
@@ -295,7 +300,7 @@ RUN cp /otel-webserver-module/conf/nginx/opentelemetry_module.conf /opt/ \
295300
&& cd /
296301

297302
# Remove unwanted files
298-
RUN rm -rf grpc && rm -rf autoconf-${AUTOCONF_VERSION} && rm -rf automake-${AUTOMAKE_VERSION} && rm -rf cmake-${CMAKE_VERSION}-linux-x86_64 \
303+
RUN rm -rf grpc && rm -rf autoconf-${AUTOCONF_VERSION} && rm -rf automake-${AUTOMAKE_VERSION} && rm -rf cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH} \
299304
&& rm -rf libtool-${LIBTOOL_VERSION} && rm -rf Python-${PYTHON_VERSION} \
300305
&& rm -f apr-${APR_VERSION}.tar.gz && rm -f apr-util-${APRUTIL_VERSION}.tar.gz \
301306
&& rm -f httpd-2.2.31.tar.gz && rm -f httpd-2.4.23.tar.gz

0 commit comments

Comments
 (0)