diff --git a/tools/dockerfile/grpc_java_base/Dockerfile b/tools/dockerfile/grpc_java_base/Dockerfile
index 40be7b1c5bdce9429ab1a4d09083c5eb120156ff..91ee218b479ed9db9cc816921dd70513f73a246f 100644
--- a/tools/dockerfile/grpc_java_base/Dockerfile
+++ b/tools/dockerfile/grpc_java_base/Dockerfile
@@ -28,6 +28,13 @@ RUN mkdir -p $HOME/.ssh && echo 'Host github.com' > $HOME/.ssh/config
 RUN echo "    IdentityFile /.ssh/github.rsa" >> $HOME/.ssh/config
 RUN echo 'StrictHostKeyChecking no' >> $HOME/.ssh/config
 
+# Get the protobuf source from GitHub and install it
+RUN git clone --recursive git@github.com:google/protobuf.git /var/local/git/protobuf
+RUN cd /var/local/git/protobuf && \
+  ./autogen.sh && \
+  ./configure --prefix=/usr && \
+  make -j12 && make check && make install && make clean
+
 # Get the source from GitHub
 RUN git clone --recursive git@github.com:google/grpc-java.git /var/local/git/grpc-java