diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 09564c97696c39380fab1662e1c14c91e680a190..a98a2c82250aa23e973697c5de54089f2baaf56e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -123,3 +123,20 @@ push-pre-commit:
   needs:
     - job: build-pre-commit
       artifacts: true
+
+# python3 image:
+
+build-python3:
+  extends: .container-build
+  variables:
+    CONTEXT: images/python3
+
+push-python3:
+  extends: .container-push
+  variables:
+    CONTEXT: images/python3
+    IMAGE: ci-images
+    TAG: python3
+  needs:
+    - job: build-python3
+      artifacts: true
diff --git a/images/python3/.dockerignore b/images/python3/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..72e8ffc0db8aad71a934dd11e5968bd5109e54b4
--- /dev/null
+++ b/images/python3/.dockerignore
@@ -0,0 +1 @@
+*
diff --git a/images/python3/Dockerfile b/images/python3/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..84755c587834b4c1762660ebb27c2e6ebe0c421e
--- /dev/null
+++ b/images/python3/Dockerfile
@@ -0,0 +1,15 @@
+FROM buildpack-deps:bullseye
+# hadolint ignore=DL3008,DL3013
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        python3-dev \
+        python3-pip \
+        python3-venv \
+    && \
+    python3 -m pip install --progress-bar=off --no-cache-dir --upgrade pip && \
+    python3 -m pip install --progress-bar=off --no-cache-dir --upgrade \
+        pipenv \
+        poetry \
+        tox \
+    && \
+    rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* /root/.cache/*