diff --git a/docker/Dockerfile.base.rhel9 b/docker/Dockerfile.base.rhel9
index 56b1ce7a237c85ed5b57799d1a7ed67f73d6a1ff..7142b721fa17b56592afe593c22ae162ebebfdb3 100644
--- a/docker/Dockerfile.base.rhel9
+++ b/docker/Dockerfile.base.rhel9
@@ -58,6 +58,12 @@ RUN rm -f /etc/rhsm-host && \
     echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
     echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
 
+# Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini
+# it will be copied into target containers, to print exit numbers and handle signals properly
+ENV TINI_VERSION v0.19.0
+ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
+RUN chmod +x /tini
+
 # In some network environments, GIT proxy is required
 RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
 
diff --git a/docker/Dockerfile.base.rocky b/docker/Dockerfile.base.rocky
index 42267f5d59ee82b7370895cac0c1d452a3b9a998..41210177b826bb5cfae59d9088ae8b9339ca3731 100644
--- a/docker/Dockerfile.base.rocky
+++ b/docker/Dockerfile.base.rocky
@@ -46,6 +46,12 @@ RUN dnf install 'dnf-command(config-manager)' -y && \
        python3-pip && \
     pip3 install --ignore-installed pyyaml
 
+# Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini
+# it will be copied into target containers, to print exit numbers and handle signals properly
+ENV TINI_VERSION v0.19.0
+ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
+RUN chmod +x /tini
+
 #create the WORKDIR
 WORKDIR /oai-ran
 COPY . .
diff --git a/docker/Dockerfile.base.ubuntu20 b/docker/Dockerfile.base.ubuntu20
index 73fe0905d9170fb6435c9447e4febf61c2ebb108..3434bdaa4bb368a3db9483c93bf82ff11a2fc6f1 100644
--- a/docker/Dockerfile.base.ubuntu20
+++ b/docker/Dockerfile.base.ubuntu20
@@ -46,6 +46,12 @@ RUN apt-get update && \
        python3-pip && \
     pip3 install --ignore-installed pyyaml
 
+# Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini
+# it will be copied into target containers, to print exit numbers and handle signals properly
+ENV TINI_VERSION v0.19.0
+ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
+RUN chmod +x /tini
+
 # In some network environments, GIT proxy is required
 RUN /bin/bash -c "if [[ -v NEEDED_GIT_PROXY ]]; then git config --global http.proxy $NEEDED_GIT_PROXY; fi"
 
diff --git a/docker/Dockerfile.base.ubuntu20.cross-arm64 b/docker/Dockerfile.base.ubuntu20.cross-arm64
index 3f83b751af850e6320ab67703db651546ee3039c..bdd6c417744a7b18724c5e626f85c1d4cdf944f2 100644
--- a/docker/Dockerfile.base.ubuntu20.cross-arm64
+++ b/docker/Dockerfile.base.ubuntu20.cross-arm64
@@ -73,6 +73,12 @@ RUN apt-get update && \
       g++-9-aarch64-linux-gnu && \
     apt-get clean
 
+# Add "Tini - A tiny but valid init for containers", https://github.com/krallin/tini
+# it will be copied into target containers, to print exit numbers and handle signals properly
+ENV TINI_VERSION v0.19.0
+ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
+RUN chmod +x /tini
+
 # create the WORKDIR
 WORKDIR /oai-ran
 COPY . .
diff --git a/docker/Dockerfile.eNB.rhel9 b/docker/Dockerfile.eNB.rhel9
index 7883f8560a620e3ebfa2384cbcdbfc0f097da584..191c8eb2b570995792122c67729efca9df7fa276 100644
--- a/docker/Dockerfile.eNB.rhel9
+++ b/docker/Dockerfile.eNB.rhel9
@@ -112,5 +112,6 @@ WORKDIR /opt/oai-enb
 # 36422 --> X2C, SCTP/UDP
 EXPOSE 2152/udp 36412/udp 36422/udp
 
-ENTRYPOINT ["/opt/oai-enb/bin/entrypoint.sh"]
+COPY --from=enb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-enb/bin/entrypoint.sh"]
 CMD ["/opt/oai-enb/bin/lte-softmodem", "-O", "/opt/oai-enb/etc/enb.conf"]
diff --git a/docker/Dockerfile.eNB.rocky b/docker/Dockerfile.eNB.rocky
index 5bd3aa8458ff44c5c75e15b8de7787a1c8ca07e8..51705f0e7b9eae3466f359d8390182f829ca9066 100644
--- a/docker/Dockerfile.eNB.rocky
+++ b/docker/Dockerfile.eNB.rocky
@@ -122,5 +122,6 @@ WORKDIR /opt/oai-enb
 # 36422 --> X2C, SCTP/UDP
 EXPOSE 2152/udp 36412/udp 36422/udp
 
-ENTRYPOINT ["/opt/oai-enb/bin/entrypoint.sh"]
+COPY --from=enb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-enb/bin/entrypoint.sh"]
 CMD ["/opt/oai-enb/bin/lte-softmodem", "-O", "/opt/oai-enb/etc/enb.conf"]
diff --git a/docker/Dockerfile.eNB.ubuntu20 b/docker/Dockerfile.eNB.ubuntu20
index 2f10bda9ef190c214ef593c6db2c2b937aed3b69..73a96dac6275f693bf8ad3710650dac61dc5fc04 100644
--- a/docker/Dockerfile.eNB.ubuntu20
+++ b/docker/Dockerfile.eNB.ubuntu20
@@ -112,5 +112,6 @@ EXPOSE 2152/udp 36412/udp 36422/udp
 #EXPOSE 50000/udp # IF5 / ORI (control)
 #EXPOSE 50001/udp # IF5 / ECPRI (data)
 
-ENTRYPOINT ["/opt/oai-enb/bin/entrypoint.sh"]
+COPY --from=enb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-enb/bin/entrypoint.sh"]
 CMD ["/opt/oai-enb/bin/lte-softmodem", "-O", "/opt/oai-enb/etc/enb.conf"]
diff --git a/docker/Dockerfile.gNB.aw2s.rhel9 b/docker/Dockerfile.gNB.aw2s.rhel9
index 863f126be6e7cd4847f7c3fbb170c4d24276b062..0885a9962d5b3ab2ed384c297a355889feadd0cb 100644
--- a/docker/Dockerfile.gNB.aw2s.rhel9
+++ b/docker/Dockerfile.gNB.aw2s.rhel9
@@ -86,5 +86,6 @@ RUN ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/libthirdparty_tra
 
 WORKDIR /opt/oai-gnb-aw2s
 
-ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"]
diff --git a/docker/Dockerfile.gNB.aw2s.rocky b/docker/Dockerfile.gNB.aw2s.rocky
index 1897bf272021bd36010e2fa7b0c860ee443b5d9e..57b6e8c1b553e53bc1d99e9128f21856ffe0c83f 100644
--- a/docker/Dockerfile.gNB.aw2s.rocky
+++ b/docker/Dockerfile.gNB.aw2s.rocky
@@ -95,5 +95,6 @@ RUN ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/libthirdparty_tra
 
 WORKDIR /opt/oai-gnb-aw2s
 
-ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"]
diff --git a/docker/Dockerfile.gNB.aw2s.ubuntu20 b/docker/Dockerfile.gNB.aw2s.ubuntu20
index 321876638d04f94c6f3311dff3b6fd9162d43733..4d28c387071395751294172643e9a064059d3135 100644
--- a/docker/Dockerfile.gNB.aw2s.ubuntu20
+++ b/docker/Dockerfile.gNB.aw2s.ubuntu20
@@ -81,5 +81,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/lib
 
 WORKDIR /opt/oai-gnb-aw2s
 
-ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"]
diff --git a/docker/Dockerfile.gNB.rhel9 b/docker/Dockerfile.gNB.rhel9
index fc6a6c5975cc5bed0a80895415b3d9abc5c23073..358782519feb21de61c0b3b1061b704fade011a6 100644
--- a/docker/Dockerfile.gNB.rhel9
+++ b/docker/Dockerfile.gNB.rhel9
@@ -111,5 +111,6 @@ WORKDIR /opt/oai-gnb
 #EXPOSE 50000/udp # IF5 / ORI (control)
 #EXPOSE 50001/udp # IF5 / ECPRI (data)
 
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-softmodem", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.gNB.rocky b/docker/Dockerfile.gNB.rocky
index 035f1122a5d316f98e0aa92391ef39fffb456369..d4c8504bb888cd8680e5e4822e7c33f562d16080 100644
--- a/docker/Dockerfile.gNB.rocky
+++ b/docker/Dockerfile.gNB.rocky
@@ -121,5 +121,6 @@ WORKDIR /opt/oai-gnb
 #EXPOSE 50000/udp # IF5 / ORI (control)
 #EXPOSE 50001/udp # IF5 / ECPRI (data)
 
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-softmodem", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.gNB.ubuntu20 b/docker/Dockerfile.gNB.ubuntu20
index 6cc0af8965a0560f4d2dba876a11f7ab4b975795..16e3795fe8d8d799950565b6fea4345e498d0e2b 100644
--- a/docker/Dockerfile.gNB.ubuntu20
+++ b/docker/Dockerfile.gNB.ubuntu20
@@ -108,5 +108,6 @@ WORKDIR /opt/oai-gnb
 #EXPOSE 50000/udp # IF5 / ORI (control)
 #EXPOSE 50001/udp # IF5 / ECPRI (data)
 
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-softmodem", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.lteRU.rhel9 b/docker/Dockerfile.lteRU.rhel9
index 81741441ab8ae604f6660a3a485bf7195c41db51..30e996600cb0ce052e574ffd274f105ea2b8c1b3 100644
--- a/docker/Dockerfile.lteRU.rhel9
+++ b/docker/Dockerfile.lteRU.rhel9
@@ -95,5 +95,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
 
 WORKDIR /opt/oai-lte-ru
 
-ENTRYPOINT ["/opt/oai-lte-ru/bin/entrypoint.sh"]
+COPY --from=ru-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-lte-ru/bin/entrypoint.sh"]
 CMD ["/opt/oai-lte-ru/bin/oairu", "-O", "/opt/oai-lte-ru/etc/rru.conf"]
diff --git a/docker/Dockerfile.lteRU.ubuntu20 b/docker/Dockerfile.lteRU.ubuntu20
index 1a476c5733c8eb1980c82aef61740a9b584a0b27..6fa2a167b74a9f8276d96fb60f357726fcc6d8fc 100644
--- a/docker/Dockerfile.lteRU.ubuntu20
+++ b/docker/Dockerfile.lteRU.ubuntu20
@@ -88,5 +88,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
 
 WORKDIR /opt/oai-lte-ru
 
-ENTRYPOINT ["/opt/oai-lte-ru/bin/entrypoint.sh"]
+COPY --from=ru-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-lte-ru/bin/entrypoint.sh"]
 CMD ["/opt/oai-lte-ru/bin/oairu", "-O", "/opt/oai-lte-ru/etc/rru.conf"]
diff --git a/docker/Dockerfile.lteUE.rhel9 b/docker/Dockerfile.lteUE.rhel9
index 1ba07477c1fbdfc59a66c3bfbd9ae8d82bf5ea36..a9a95e23a66ef542a74f662c9a69776c02bd8eae 100644
--- a/docker/Dockerfile.lteUE.rhel9
+++ b/docker/Dockerfile.lteUE.rhel9
@@ -104,5 +104,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
     ldconfig
 
 WORKDIR /opt/oai-lte-ue
+COPY --from=lte-ue-base /tini /tini
 CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem"]
-ENTRYPOINT ["/opt/oai-lte-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-lte-ue/bin/entrypoint.sh"]
diff --git a/docker/Dockerfile.lteUE.rocky b/docker/Dockerfile.lteUE.rocky
index 9e4043fb9b239b04652fc013780765b42ae7b6a0..95845a0fd44320cd6f67fb69350f55b0e9d8ec47 100644
--- a/docker/Dockerfile.lteUE.rocky
+++ b/docker/Dockerfile.lteUE.rocky
@@ -116,5 +116,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
     echo "ldd on libtelnetsrv.so" && ldd /usr/local/lib/libtelnetsrv.so
 
 WORKDIR /opt/oai-lte-ue
+COPY --from=lte-ue-base /tini /tini
 CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem"]
-ENTRYPOINT ["/opt/oai-lte-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-lte-ue/bin/entrypoint.sh"]
diff --git a/docker/Dockerfile.lteUE.ubuntu20 b/docker/Dockerfile.lteUE.ubuntu20
index 89dbd505d575ae2685934b09c41a6416b9601f6d..3320c36bf893361a78f028e0d336b26b72fe46b0 100644
--- a/docker/Dockerfile.lteUE.ubuntu20
+++ b/docker/Dockerfile.lteUE.ubuntu20
@@ -104,5 +104,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
     ldd /opt/oai-lte-ue/bin/lte-uesoftmodem
 
 WORKDIR /opt/oai-lte-ue
+COPY --from=lte-ue-base /tini /tini
 CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem"]
-ENTRYPOINT ["/opt/oai-lte-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-lte-ue/bin/entrypoint.sh"]
diff --git a/docker/Dockerfile.nr-cuup.rhel9 b/docker/Dockerfile.nr-cuup.rhel9
index 5ae63a0e4801b685495452f486a05e0fe6f9d761..00d6236bfebf53edda7bdf3285ddd23421e8bb4b 100644
--- a/docker/Dockerfile.nr-cuup.rhel9
+++ b/docker/Dockerfile.nr-cuup.rhel9
@@ -75,5 +75,6 @@ WORKDIR /opt/oai-gnb/etc
 
 WORKDIR /opt/oai-gnb
 
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-cuup", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.nr-cuup.rocky b/docker/Dockerfile.nr-cuup.rocky
index adeaf053d95eb4db788fcaa7ca12280772b96d90..e3dc1bf5beacffccc5d09ed232cae79f146ab1e3 100644
--- a/docker/Dockerfile.nr-cuup.rocky
+++ b/docker/Dockerfile.nr-cuup.rocky
@@ -76,5 +76,6 @@ WORKDIR /opt/oai-gnb/etc
 
 WORKDIR /opt/oai-gnb
 
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-cuup", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.nr-cuup.ubuntu20 b/docker/Dockerfile.nr-cuup.ubuntu20
index 365e48a4b8b5dafe87224807de57986f085c20b9..0a371e669c7bbfbbef363739e46d7860d50c07fc 100644
--- a/docker/Dockerfile.nr-cuup.ubuntu20
+++ b/docker/Dockerfile.nr-cuup.ubuntu20
@@ -66,5 +66,6 @@ RUN ldconfig && ldd /opt/oai-gnb/bin/nr-cuup
 WORKDIR /opt/oai-gnb/etc
 
 WORKDIR /opt/oai-gnb
-ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"]
+COPY --from=gnb-base /tini /tini
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-gnb/bin/entrypoint.sh"]
 CMD ["/opt/oai-gnb/bin/nr-cuup", "-O", "/opt/oai-gnb/etc/gnb.conf"]
diff --git a/docker/Dockerfile.nrUE.rhel9 b/docker/Dockerfile.nrUE.rhel9
index 90d7499dd0d0116b7048ae9b094a7f67327265f6..14d9f6c7f777470e8c3767fe72a87a0d24dd9705 100644
--- a/docker/Dockerfile.nrUE.rhel9
+++ b/docker/Dockerfile.nrUE.rhel9
@@ -108,5 +108,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
 
 
 WORKDIR /opt/oai-nr-ue
+COPY --from=nr-ue-base /tini /tini
 CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"]
-ENTRYPOINT ["/opt/oai-nr-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-nr-ue/bin/entrypoint.sh"]
diff --git a/docker/Dockerfile.nrUE.rocky b/docker/Dockerfile.nrUE.rocky
index 638b4406c46f89d8096f3ac27f1707cdb90c61d8..1ffccd60d5da8c21c46766a487fbfe0a20fd131b 100644
--- a/docker/Dockerfile.nrUE.rocky
+++ b/docker/Dockerfile.nrUE.rocky
@@ -117,5 +117,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
     echo "ldd on libtelnetsrv_5Gue.so" && ldd /usr/local/lib/libtelnetsrv_5Gue.so
 
 WORKDIR /opt/oai-nr-ue
+COPY --from=nr-ue-base /tini /tini
 CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"]
-ENTRYPOINT ["/opt/oai-nr-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-nr-ue/bin/entrypoint.sh"]
diff --git a/docker/Dockerfile.nrUE.ubuntu20 b/docker/Dockerfile.nrUE.ubuntu20
index 30d32b2f318bbba78b4b76dad82ee5d95e9ab424..7418c6ccb935d7d09d78c4c0d8dae7a1bb093176 100644
--- a/docker/Dockerfile.nrUE.ubuntu20
+++ b/docker/Dockerfile.nrUE.ubuntu20
@@ -104,5 +104,6 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
     ldd /opt/oai-nr-ue/bin/nr-uesoftmodem
 
 WORKDIR /opt/oai-nr-ue
+COPY --from=nr-ue-base /tini /tini
 CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"]
-ENTRYPOINT ["/opt/oai-nr-ue/bin/entrypoint.sh"]
+ENTRYPOINT ["/tini", "-v", "--", "/opt/oai-nr-ue/bin/entrypoint.sh"]