diff --git a/Dockerfile b/Dockerfile
index bd89e8cfd9c5f1debbed37649e98558a38ba99ba..b933ee2244574cd724eed15f8c7659981ad4676a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -24,11 +24,17 @@ ENV DEBIAN_FRONTEND noninteractive
 ENV LC_ALL C.UTF-8
 ENV LANG C.UTF-8
 
-RUN apt-get update && apt-get install -y gpg curl wget unzip xz-utils git openssh-client bsdtar build-essential && \
+RUN apt-get update && apt-get install -y gpg curl wget unzip xz-utils openssh-client bsdtar build-essential && \
     rm -rf /var/lib/apt/lists/*
 
-## Gradle
+# The git version of ubuntu 18.04 is too old to sort ref tags properly (see #5477), so update it to the latest stable version
+RUN echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu bionic main\ndeb-src http://ppa.launchpad.net/git-core/ppa/ubuntu bionic main" > /etc/apt/sources.list.d/git.list && \
+    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24 && \
+    apt-get update && \
+    apt-get -y install git && \
+    rm -rf /var/lib/apt/lists/*
 
+## Gradle
 RUN apt-get update && apt-get install -y --no-install-recommends openjdk-11-jre-headless gradle && \
     rm -rf /var/lib/apt/lists/*
 
diff --git a/Dockerfile.slim b/Dockerfile.slim
index 7fd006ad6ad51cf8e192e506df272345f1a779d7..a17da59b751c5d134760c089ff787c2b3b97d4a6 100644
--- a/Dockerfile.slim
+++ b/Dockerfile.slim
@@ -50,6 +50,13 @@ FROM base as final
 # required for install
 USER root
 
+# The git version of ubuntu 18.04 is too old to sort ref tags properly (see #5477), so update it to the latest stable version
+RUN echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu bionic main\ndeb-src http://ppa.launchpad.net/git-core/ppa/ubuntu bionic main" > /etc/apt/sources.list.d/git.list && \
+    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24 && \
+    apt-get update && \
+    apt-get -y install git && \
+    rm -rf /var/lib/apt/lists/*
+
 # Docker client and group
 
 RUN groupadd -g 999 docker