diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..c7c4f6f026b23a4cdbaeedb80f469c842b5ffb73
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,3 @@
+FROM themattrix/tox-base
+ADD . .
+RUN tox
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..78bece8b7442bbf88d2a60eb5bc130182c7078db
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,21 @@
+# docker-compose file for local development and testing with container image.
+#
+# Extends compose/base.yml so launch services via:
+#
+#   docker-compose -f compose/base.yml -f compose/tox.yml run --rm tox <...>
+version: '3.2'
+services:
+  tox:
+    build:
+      context: .
+      dockerfile: Dockerfile
+    environment:
+      - TOXINI_WORK_DIR=/tmp/tox-data/work
+      - TOXINI_ARTEFACT_DIR=/tmp/tox-data/artefacts
+    volumes:
+      - tox-data:/tmp/tox-data
+
+volumes:
+  # A persistent volume for tox to store its stuff. This allows caching of
+  # virtualenvs between runs.
+  tox-data: