diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index 320a6e21ee770a360d0f71ccb8a1cc7cf74e7ca0..da36ef090f075a83c8f085a881db49b5d4da3a30 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -1,23 +1,26 @@
-FROM debian:bullseye
+FROM debian:bookworm
 
 RUN apt-get update
 RUN apt-get install -y cmake
 RUN apt-get install -y lcov
 RUN apt-get install -y doxygen graphviz
-RUN apt-get install -y clang-format-11 clang-tidy-11
-RUN apt-get install -y python3-pip
+RUN apt-get install -y clang-format clang-tidy
+RUN apt-get install -y python3-pip python3-venv
 RUN apt-get install -y git
 RUN apt-get install -y curl zip unzip tar
+RUN apt-get install -y perl
 
 
-RUN apt-get install -y openjdk-11-jdk-headless
+RUN apt-get install -y  openjdk-17-jdk-headless
 
 
 WORKDIR /
+RUN python3 -m venv ./venv
+RUN . ./venv/bin/activate
 COPY doc/requirements.txt doc-requirements.txt
-RUN pip3 install -r doc-requirements.txt
+RUN ./venv/bin/pip install -r doc-requirements.txt
 COPY requirements.txt build-requirements.txt
-RUN pip3 install -r build-requirements.txt
+RUN ./venv/bin/pip install -r build-requirements.txt
 
 COPY . /libcaosdb/
 WORKDIR /libcaosdb
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 244fc7e7c5a84a02a0ad897bbb8d19f222f53dc3..c703a461ec1ddab0023d1ece319e1b5b8805281a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -78,7 +78,7 @@ code_style:
   tags: [ docker ]
   stage: test
   script:
-    - clang-format-11 --dry-run --verbose --Werror $(find test/ src/ include/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in")
+    - clang-format --dry-run --verbose --Werror $(find test/ src/ include/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in")
   allow_failure: true