Official nginx image is based on Debian with older libc version,
that causes a runtime fail when VPP libraries are compiled in Ubuntu
which has newer libc.
Using equal version of Ubuntu in VPP image and in nginx image
ensures that running nginx won't fail due to different libc versions.
Type: test
Signed-off-by: Maros Ondrejicka <[email protected]>
Change-Id: I48f3b23be30a9d9d9144351437ce163d64a4bb6b
-FROM nginx:1.22.1
+ARG UBUNTU_VERSION
+
+FROM ubuntu:${UBUNTU_VERSION}
+
+RUN apt-get update
+RUN apt-get install -y nginx
+RUN rm -rf /var/lib/apt/lists/*
COPY vpp-data/lib/* /usr/lib/
COPY resources/nginx/vcl.conf /vcl.conf
COPY resources/nginx/nginx.conf /nginx.conf
-COPY resources/nginx/start.sh /start.sh
-ENTRYPOINT ["/start.sh"]
+ENV VCL_CONFIG=/vcl.conf
+ENV LD_PRELOAD=/usr/lib/libvcl_ldpreload.so
+
+ENTRYPOINT ["nginx", "-c", "/nginx.conf"]
-FROM ubuntu:22.04
+ARG UBUNTU_VERSION
+
+FROM ubuntu:${UBUNTU_VERSION}
RUN apt-get update \
&& apt-get install -y openssl libapr1 libnuma1 libsubunit0 \
+++ /dev/null
-#!/bin/bash
-
-LDP_PATH=/usr/lib/libvcl_ldpreload.so
-VCL_CFG=/vcl.conf
-LD_PRELOAD=$LDP_PATH VCL_CONFIG=$VCL_CFG nginx -c /nginx.conf
-tail -f /dev/null
cp ${VPP_WS}/build-root/build-vpp_debug-native/vpp/bin/* ${bin}
cp -r ${VPP_WS}/build-root/build-vpp_debug-native/vpp/lib/x86_64-linux-gnu/* ${lib}
-docker build -t hs-test/vpp -f Dockerfile.vpp .
-docker build -t hs-test/nginx-ldp -f Dockerfile.nginx .
+docker build --build-arg UBUNTU_VERSION -t hs-test/vpp -f Dockerfile.vpp .
+docker build --build-arg UBUNTU_VERSION -t hs-test/nginx-ldp -f Dockerfile.nginx .
export HST_LDPRELOAD=${VPP_WS}/build-root/build-vpp_debug-native/vpp/lib/x86_64-linux-gnu/libvcl_ldpreload.so
export PATH=${VPP_WS}/build-root/build-vpp_debug-native/vpp/bin:$PATH
+
+export UBUNTU_VERSION=22.04