diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index 632c7db8f5746eabf63799e06e8879b72ba35633..455b1dc7a80bc1689a89cfc7080a475c5c5f9d51 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -10,10 +10,4 @@ RUN git clone https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git
 WORKDIR /caosdb-cpplib
 RUN git checkout f-extern-c
 RUN git submodule update --init --recursive
-RUN mkdir build
-WORKDIR /caosdb-cpplib/build
-RUN conan install .. -s "compiler.libcxx=libstdc++11"
-RUN cmake ..
-RUN cmake --build .
-RUN cmake --install .
 RUN rm -rf ../.git
diff --git a/.docker/install_cpplib.sh b/.docker/install_cpplib.sh
new file mode 100644
index 0000000000000000000000000000000000000000..03da3b113db1bdb348bb8a646c1e74471d42fbdd
--- /dev/null
+++ b/.docker/install_cpplib.sh
@@ -0,0 +1,9 @@
+current_dir=${pwd}
+cd /caosdb-cpplib
+mkdir build
+cd build
+conan install .. -s "compiler.libcxx=libstdc++11"
+cmake ..
+cmake --build .
+cmake --install .
+cd ${current_dir}
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e4eac326eff96828e3fd7f722b6ff8dbfe0cd705..0ad54f350f1cee05f108db19cb3685a544423926 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -73,6 +73,7 @@ test:
   #   - master
   #   - development
   script:
+    - .docker/install_cpplib.sh
     - export LD_LIBRARY_PATH=/root/.local/lib:$LD_LIBRARY_PATH
     # Let's run the tests. Substitute `coverage = false` below, if you
     # do not want coverage results.