blob: 444c1588677ddc30d8875d8366890fc8e404645f [file] [log] [blame]
FROM kumarsandeep3/hcl-bouncer-base-image-ubntu-20:1.0.0 as buildenv
RUN mkdir -p /lite
WORKDIR /lite
#RUN apt-get update
COPY e2ap/ e2ap/
COPY e2sm_kpm/ e2sm_kpm/
COPY e2sm_rc/ e2sm_rc/
# "COMPILING E2AP Wrapper"
RUN cd e2ap && \
gcc -c -fPIC -Iheaders/ lib/*.c wrapper.c && \
gcc *.o -shared -o libe2apwrapper.so && \
cp libe2apwrapper.so /usr/local/lib/ && \
mkdir /usr/local/include/e2ap && \
cp wrapper.h headers/*.h /usr/local/include/e2ap && \
ldconfig
# "COMPILING E2SM-KPM Wrapper"
RUN cd e2sm_kpm && \
gcc -c -fPIC -Iheaders/ lib/*.c wrapper.c && \
gcc *.o -shared -o libe2smkpmwrapper.so&& \
cp libe2smkpmwrapper.so /usr/local/lib/ && \
mkdir /usr/local/include/e2sm_kpm && \
cp wrapper.h headers/*.h /usr/local/include/e2sm_kpm && \
ldconfig
# "COMPILING E2SM-RC Wrapper"
RUN cd e2sm_rc && \
gcc -c -fPIC -Iheaders/ lib/*.c wrapper.c && \
gcc *.o -shared -o libe2smrcwrapper.so&& \
cp libe2smrcwrapper.so /usr/local/lib/ && \
mkdir /usr/local/include/e2sm_rc && \
cp wrapper.h headers/*.h /usr/local/include/e2sm_rc && \
ldconfig
# ----- copy files and source code ----------------------------------
COPY routes.txt .
COPY xapp-descriptor/ xapp-descriptor/
COPY src/ src/
RUN g++ -std=c++17 /lite/src/*.cpp -I /lite/src/ -I /lite/e2ap/headers -I /lite/e2sm_kpm/headers -I /lite/e2sm_rc/headers -o bouncer-xapp -lricxfcpp -lrmr_si -lpthread -lm -lboost_system -lcrypto -lssl -lcpprest -lpistache -lnlohmann_json_schema_validator -le2apwrapper -le2smrcwrapper -le2smrcwrapper
RUN cp bouncer-xapp /usr/local/bin/
# ----- create final, smaller, image ----------------------------------
FROM ubuntu:20.04
RUN mkdir -p /lite
WORKDIR /lite
COPY --from=buildenv /usr/local/lib /usr/local/lib/
#for ssl
COPY --from=buildenv /lib/x86_64-linux-gnu/libcrypto.so.1.1 /lib/x86_64-linux-gnu/libcrypto.so.1.1
COPY --from=buildenv /lib/x86_64-linux-gnu/libssl.so.1.1 /lib/x86_64-linux-gnu/libssl.so.1.1
COPY --from=buildenv /usr/local/include /usr/local/include
COPY --from=buildenv /usr/local/bin/ /usr/local/bin/
COPY --from=buildenv /lite/routes.txt /lite/routes.txt
ENV RMR_SEED_RT=/lite/routes.txt
ENV RMR_SRC_ID=service-ricxapp-bouncer-xapp-rmr.ricxapp:4560
ENV PATH=/usr/local/bin:$PATH
ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib
CMD [ "/usr/local/bin/bouncer-xapp" ]