diff --git a/docker/pulsar/Dockerfile b/docker/pulsar/Dockerfile
index 96bfce1f7eda7..b715db0eccd11 100644
--- a/docker/pulsar/Dockerfile
+++ b/docker/pulsar/Dockerfile
@@ -85,6 +85,9 @@ ENV PULSAR_ROOT_LOGGER=INFO,CONSOLE
COPY --from=pulsar /pulsar /pulsar
WORKDIR /pulsar
+ARG PULSAR_CLIENT_PYTHON_VERSION
+ENV PULSAR_CLIENT_PYTHON_VERSION ${PULSAR_CLIENT_PYTHON_VERSION}
+
# This script is intentionally run as the root user to make the dependencies available for all UIDs.
RUN chmod +x /pulsar/bin/install-pulsar-client.sh
RUN /pulsar/bin/install-pulsar-client.sh
diff --git a/docker/pulsar/scripts/install-pulsar-client.sh b/docker/pulsar/scripts/install-pulsar-client.sh
index 56702b10db3d8..5b6eb8941c3ea 100755
--- a/docker/pulsar/scripts/install-pulsar-client.sh
+++ b/docker/pulsar/scripts/install-pulsar-client.sh
@@ -22,4 +22,4 @@ set -x
PYTHON_MAJOR_MINOR=$(python3 -V | sed -E 's/.* ([[:digit:]]+)\.([[:digit:]]+).*/\1\2/')
WHEEL_FILE=$(ls /pulsar/pulsar-client | grep "cp${PYTHON_MAJOR_MINOR}")
-pip3 install /pulsar/pulsar-client/${WHEEL_FILE}[all]
+pip3 install pulsar-client[all]==${PULSAR_CLIENT_PYTHON_VERSION}
diff --git a/pom.xml b/pom.xml
index 9ac15c340d229..d1b3b7951cf57 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,8 @@ flexible messaging model and an intuitive client API.
8
8
+ 3.2.0
+
**/Test*.java,**/*Test.java,**/*Tests.java,**/*TestCase.java