diff --git a/t/Dockerfile b/t/Dockerfile
new file mode 100644
index 0000000..7407db5
--- /dev/null
+++ b/t/Dockerfile
@@ -0,0 +1,33 @@
+# DOCKER_NAME=sipwise-base-jessie
+FROM docker.mgm.sipwise.com/sipwise-jessie:latest
+
+# Important! Update this no-op ENV variable when this Dockerfile
+# is updated with the current date. It will force refresh of all
+# of the base images and things like `apt-get update` won't be using
+# old cached versions when the Dockerfile is built.
+ENV REFRESHED_AT 2018-01-12
+
+RUN apt-get update && apt-get install --assume-yes libmodule-build-perl libtrycatch-perl libstrictures-perl
+
+RUN echo "cd /code && ./t/testrunner" >/root/.bash_history
+
+WORKDIR /code/
+
+################################################################################
+# Instructions for usage
+# ----------------------
+# When you want to build the base image from scratch
+# (jump to the next section if you don't want to build yourself!):
+#
+# NOTE: run the following command from root folder of git repository:
+# % docker build --tag="sipwise-base-jessie" -f ./t/Dockerfile .
+# % docker run --rm -i -t -v $(pwd):/code:rw sipwise-base-jessie:latest bash
+#
+# Use the existing docker image:
+# % docker pull docker.mgm.sipwise.com/sipwise-base-jessie
+# NOTE: run the following command from root folder of git repository:
+# % docker run --rm -i -t -v $(pwd):/code:rw docker.mgm.sipwise.com/sipwise-base-jessie:latest bash
+#
+# Inside docker:
+#   cd /code && ./t/testrunner
+################################################################################
diff --git a/t/testrunner b/t/testrunner
new file mode 100755
index 0000000..efcf5c2
--- /dev/null
+++ b/t/testrunner
@@ -0,0 +1,4 @@
+#!/bin/bash
+perl ./Build.PL
+./Build manifest
+./Build dist