diff --git a/docker/Dockerfile.ran.rhel8.2 b/docker/Dockerfile.base.rhel8.2
similarity index 97%
rename from docker/Dockerfile.ran.rhel8.2
rename to docker/Dockerfile.base.rhel8.2
index 0941bd68eaf924d007a0ff9522a7a1fcef6f1877..3050f09849870f6c03f67114c68813d4c54f564b 100644
--- a/docker/Dockerfile.ran.rhel8.2
+++ b/docker/Dockerfile.base.rhel8.2
@@ -26,7 +26,7 @@
 #---------------------------------------------------------------------
 
 
-FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-build
+FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-base
 ARG NEEDED_GIT_PROXY
 ENV TZ=Europe/Paris
 ENV BUILD_UHD_FROM_SOURCE=True
diff --git a/docker/Dockerfile.build.rhel8.2 b/docker/Dockerfile.build.rhel8.2
new file mode 100644
index 0000000000000000000000000000000000000000..7ddfcdc034086c1efc618e1b23113a20ff59dd41
--- /dev/null
+++ b/docker/Dockerfile.build.rhel8.2
@@ -0,0 +1,38 @@
+#/*
+# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+# * contributor license agreements.  See the NOTICE file distributed with
+# * this work for additional information regarding copyright ownership.
+# * The OpenAirInterface Software Alliance licenses this file to You under
+# * the OAI Public License, Version 1.1  (the "License"); you may not use this file
+# * except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *      http://www.openairinterface.org/?page_id=698
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# *-------------------------------------------------------------------------------
+# * For more information about the OpenAirInterface (OAI) Software Alliance:
+# *      contact@openairinterface.org
+# */
+#---------------------------------------------------------------------
+#
+# Dockerfile for the Open-Air-Interface BUILD service
+#   Valid for Ubuntu 18.04
+#
+#---------------------------------------------------------------------
+
+FROM ran-base:latest as ran-build
+
+RUN rm -Rf /oai-ran
+WORKDIR /oai-ran
+COPY . .
+
+#run build_oai to build the target image
+RUN /bin/sh oaienv && \ 
+    cd cmake_targets && \
+    mkdir -p log && \
+    ./build_oai --eNB --gNB --RU --UE --nrUE --ninja -w USRP --verbose-ci
diff --git a/docker/Dockerfile.eNB.rhel8.2 b/docker/Dockerfile.eNB.rhel8.2
index 185e31a2cd3e48dad98f289e608eb81f8f7e2999..b92a57ce8519145c3800ad3d147a2b43af875135 100644
--- a/docker/Dockerfile.eNB.rhel8.2
+++ b/docker/Dockerfile.eNB.rhel8.2
@@ -25,17 +25,9 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:latest AS enb-build
-
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-base:latest AS enb-base
 
-#run build_oai to build the target image
-RUN /bin/sh oaienv && \ 
-    cd cmake_targets && \
-    mkdir -p log && \
-    ./build_oai --eNB --ninja -w USRP --verbose-ci
+FROM ran-build:latest AS enb-build
 
 RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
     cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
@@ -78,10 +70,9 @@ COPY --from=enb-build \
     /oai-ran/targets/bin/libparams_libconfig.so \
     /oai-ran/cmake_targets/ran_build/build/libdfts.so \
     /oai-ran/cmake_targets/ran_build/build/liboai_iqplayer.so \
-    /usr/local/lib/libprotobuf-c.so.1 \
     ./
 
-COPY --from=enb-build \
+COPY --from=enb-base \
     /lib64/libconfig.so.9 \
     /lib64/libblas.so.3 \
     /lib64/liblapack.so.3 \
@@ -100,12 +91,13 @@ COPY --from=enb-build \
     /lib64/
 
 # Now we are copying from builder-image the UHD files.
-COPY --from=enb-build /usr/local/bin/uhd_find_devices /usr/local/bin
-COPY --from=enb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
-COPY --from=enb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
+COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
+COPY --from=enb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
+COPY --from=enb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
+COPY --from=enb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
 
 WORKDIR /usr/local/share/uhd/rfnoc
-COPY --from=enb-build /usr/local/share/uhd/rfnoc/ .
+COPY --from=enb-base /usr/local/share/uhd/rfnoc/ .
 
 RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
     /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
diff --git a/docker/Dockerfile.gNB.rhel8.2 b/docker/Dockerfile.gNB.rhel8.2
index 41fdd2f158f2d1af2388c7ea441bd9c4df6d4f72..7a69ec42a24bbaf37abde084e56866109fdc7098 100644
--- a/docker/Dockerfile.gNB.rhel8.2
+++ b/docker/Dockerfile.gNB.rhel8.2
@@ -25,17 +25,9 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:latest AS gnb-build
-
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-base:latest AS gnb-base
 
-#run build_oai to build the target image
-RUN /bin/sh oaienv && \ 
-    cd cmake_targets && \
-    mkdir -p log && \
-    ./build_oai --gNB --ninja -w USRP --verbose-ci
+FROM ran-build:latest AS gnb-build
 
 RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
     cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
@@ -83,10 +75,9 @@ COPY --from=gnb-build \
     /oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
     /oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
     /oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
-    /usr/local/lib/libprotobuf-c.so.1 \
     ./
 
-COPY --from=gnb-build \
+COPY --from=gnb-base \
     /lib64/libconfig.so.9 \
     /lib64/libforms.so.2 \
     /lib64/libblas.so.3 \
@@ -106,12 +97,13 @@ COPY --from=gnb-build \
     /lib64/
 
 # Now we are copying from builder-image the UHD files.
-COPY --from=gnb-build /usr/local/bin/uhd_find_devices /usr/local/bin
-COPY --from=gnb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
-COPY --from=gnb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
+COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
+COPY --from=gnb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
+COPY --from=gnb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
+COPY --from=gnb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
 
 WORKDIR /usr/local/share/uhd/rfnoc
-COPY --from=gnb-build /usr/local/share/uhd/rfnoc/ .
+COPY --from=gnb-base /usr/local/share/uhd/rfnoc/ .
 
 RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
     /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
diff --git a/docker/Dockerfile.lteRU.rhel8.2 b/docker/Dockerfile.lteRU.rhel8.2
index ddb2ac11679486e9a48c9f681122088a08dfec8a..226530fe861bba3c543b71176246a39540c2c9fe 100644
--- a/docker/Dockerfile.lteRU.rhel8.2
+++ b/docker/Dockerfile.lteRU.rhel8.2
@@ -25,17 +25,9 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:latest AS ru-build
-
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-base:latest AS ru-base
 
-#run build_oai to build the target image
-RUN /bin/sh oaienv && \
-    cd cmake_targets && \
-    mkdir -p log && \
-    ./build_oai --RU --ninja -w USRP --verbose-ci
+FROM ran-build:latest AS ru-build
 
 RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
     cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
@@ -75,7 +67,7 @@ COPY --from=ru-build \
     /oai-ran/cmake_targets/ran_build/build/libdfts.so \
     ./
 
-COPY --from=ru-build \
+COPY --from=ru-base \
     /lib64/libconfig.so.9 \
     /lib64/libblas.so.3 \
     /lib64/liblapack.so.3 \
@@ -94,12 +86,12 @@ COPY --from=ru-build \
     /lib64/
 
 # Copying from the ran-build image the USRP needed packages
-COPY --from=ru-build /usr/local/bin/uhd_find_devices /usr/local/bin
-COPY --from=ru-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
-COPY --from=ru-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
+COPY --from=ru-base /usr/local/bin/uhd_find_devices /usr/local/bin
+COPY --from=ru-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
+COPY --from=ru-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
 
 WORKDIR /usr/local/share/uhd/rfnoc
-COPY --from=ru-build /usr/local/share/uhd/rfnoc/ .
+COPY --from=ru-base /usr/local/share/uhd/rfnoc/ .
 
 RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
     /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
diff --git a/docker/Dockerfile.lteUE.rhel8.2 b/docker/Dockerfile.lteUE.rhel8.2
index dd5ed8ba2e626c1400be8aedbbccae23f28a0a38..20b41d2066a53b1a0e5772cbfd0d8c7e6d29cb6f 100644
--- a/docker/Dockerfile.lteUE.rhel8.2
+++ b/docker/Dockerfile.lteUE.rhel8.2
@@ -25,17 +25,9 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:latest AS lte-ue-build
-
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-base:latest AS lte-ue-base
 
-#run build_oai to build the target image
-RUN /bin/sh oaienv && \ 
-    cd cmake_targets && \
-    mkdir -p log && \
-    ./build_oai --UE --ninja -w USRP --verbose-ci
+FROM ran-build:latest AS lte-ue-build
 
 RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
     python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
@@ -82,10 +74,9 @@ COPY --from=lte-ue-build \
     /oai-ran/targets/bin/libparams_libconfig.so \
     /oai-ran/cmake_targets/ran_build/build/libSIMU.so \
     /oai-ran/cmake_targets/ran_build/build/libdfts.so \
-    /usr/local/lib/libprotobuf-c.so.1 \
     ./
 
-COPY --from=lte-ue-build \
+COPY --from=lte-ue-base \
     /lib64/libconfig.so.9 \
     /lib64/libblas.so.3 \
     /lib64/liblapack.so.3 \
@@ -104,12 +95,13 @@ COPY --from=lte-ue-build \
     /lib64/
 
 # Now we are copying from builder-image the UHD files.
-COPY --from=lte-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
-COPY --from=lte-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
-COPY --from=lte-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
+COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
+COPY --from=lte-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
+COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
+COPY --from=lte-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
 
 WORKDIR /usr/local/share/uhd/rfnoc
-COPY --from=lte-ue-build /usr/local/share/uhd/rfnoc/ .
+COPY --from=lte-ue-base /usr/local/share/uhd/rfnoc/ .
 
 RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
     /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
diff --git a/docker/Dockerfile.nrUE.rhel8.2 b/docker/Dockerfile.nrUE.rhel8.2
index e7b41c293b4b6fb80b50e3a5a3e6a737e518be8e..4aa9cdc5975031a9a7a0dce95758dbf9b55c5f4e 100644
--- a/docker/Dockerfile.nrUE.rhel8.2
+++ b/docker/Dockerfile.nrUE.rhel8.2
@@ -25,18 +25,11 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:latest AS nr-ue-build 
+FROM ran-base:latest AS nr-ue-base
 
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-build:latest AS nr-ue-build 
 
-#run build_oai to build the target image
-RUN /bin/sh oaienv && \ 
-    cd cmake_targets && \
-    mkdir -p log && \
-    ./build_oai --nrUE --ninja -w USRP --verbose-ci && \
-    cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
+RUN cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
 
 #start from scratch for target executable
 FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-ue
@@ -84,10 +77,9 @@ COPY --from=nr-ue-build \
     /oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
     /oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
     /oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
-    /usr/local/lib/libprotobuf-c.so.1 \
     ./
 
-COPY --from=nr-ue-build \
+COPY --from=nr-ue-base \
     /lib64/libconfig.so.9 \
     /lib64/libblas.so.3 \
     /lib64/liblapack.so.3 \
@@ -107,12 +99,13 @@ COPY --from=nr-ue-build \
     /lib64/
 
 # Now we are copying from builder-image the UHD files.
-COPY --from=nr-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
-COPY --from=nr-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
-COPY --from=nr-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
+COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
+COPY --from=nr-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
+COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
+COPY --from=nr-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
 
 WORKDIR /usr/local/share/uhd/rfnoc
-COPY --from=nr-ue-build /usr/local/share/uhd/rfnoc/ .
+COPY --from=nr-ue-base /usr/local/share/uhd/rfnoc/ .
 
 RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
     /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
diff --git a/docker/Dockerfile.phySim.rhel8.2 b/docker/Dockerfile.phySim.rhel8.2
index f35856ac7a690eb1bcf547e3a611b2e479059bb3..e2750f6f0cdff0ad01dfa2f56237bd6b60c9188a 100644
--- a/docker/Dockerfile.phySim.rhel8.2
+++ b/docker/Dockerfile.phySim.rhel8.2
@@ -25,11 +25,7 @@
 #
 #---------------------------------------------------------------------
 
-FROM ran-build:develop AS phy-sim-build
-
-RUN rm -Rf /oai-ran
-WORKDIR /oai-ran
-COPY . .
+FROM ran-base:latest AS phy-sim-build
 
 #run build_oai to build the target image
 RUN /bin/sh oaienv && \ 
diff --git a/docker/Dockerfile.ran.rhel7.oc4-4 b/docker/Dockerfile.ran.rhel7.oc4-4
index e32fa9b36d14e13a7682b2dfff4b10405b4a2b94..2f0423801a87163dca4aad3f4b47803b0d2c4c99 100644
--- a/docker/Dockerfile.ran.rhel7.oc4-4
+++ b/docker/Dockerfile.ran.rhel7.oc4-4
@@ -26,7 +26,7 @@
 #---------------------------------------------------------------------
 
 
-FROM registry.access.redhat.com/ubi7/ubi:latest AS ran-build
+FROM registry.access.redhat.com/ubi7/ubi:latest AS ran-base
 
 # Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
 # It is pre-requisite
diff --git a/docker/Dockerfile.ran.rhel8.2.oc4-4 b/docker/Dockerfile.ran.rhel8.2.oc4-4
index 127d66fccb58185e2d3574abbdb9b16527fb032e..93af2b0e370fe16075788e75c0cf9e04c0092e64 100644
--- a/docker/Dockerfile.ran.rhel8.2.oc4-4
+++ b/docker/Dockerfile.ran.rhel8.2.oc4-4
@@ -26,7 +26,7 @@
 #---------------------------------------------------------------------
 
 
-FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-build
+FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-base
 
 # Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
 # It is pre-requisite