diff --git a/ThirdParty/container-maker b/ThirdParty/container-maker
index 94843b15b8a0da8caae2ab1a2a25be3dd66f554e..3bdbf043738476ca5a7db9b3e97faa761e561186 160000
--- a/ThirdParty/container-maker
+++ b/ThirdParty/container-maker
@@ -1 +1 @@
-Subproject commit 94843b15b8a0da8caae2ab1a2a25be3dd66f554e
+Subproject commit 3bdbf043738476ca5a7db9b3e97faa761e561186
diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index 87431d640aa1643510d8dc4f24e922fffcf4b820..f5ab82633f3a1c02daeda6b54c1388b15e5bc956 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -105,7 +105,7 @@ if(OGS_USE_NETCDF)
     set(CONAN_REQUIRES ${CONAN_REQUIRES} netcdf-cxx/4.3.1@bilke/testing)
 endif()
 
-conan_check(VERSION 1.20.0)
+conan_check(VERSION 1.21.0)
 
 message(STATUS "Third-party libraries:")
 foreach(LIB ${OGS_LIBS})
diff --git a/scripts/docker/Dockerfile.clang.full b/scripts/docker/Dockerfile.clang.full
index e4fbb7acde8278c5be1bb0684c23a8f4604165e9..1cb27dfee65963c1b48129290057392a1d2b517d 100644
--- a/scripts/docker/Dockerfile.clang.full
+++ b/scripts/docker/Dockerfile.clang.full
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM ubuntu:18.04 AS build
 
 # Generated with ogs-container-maker 1.2.0
 
@@ -24,24 +24,10 @@ RUN apt-get update -y && \
         clang-tidy-8 && \
     rm -rf /var/lib/apt/lists/*
 
-# CMake version 3.12.4
-RUN apt-get update -y && \
-    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        make \
-        wget && \
-    rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
-    mkdir -p /usr/local && \
-    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
-    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
-ENV PATH=/usr/local/bin:$PATH
-
 # OGS base building block
 # Python
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        python \
-        python-dev \
         python3 \
         python3-dev && \
     rm -rf /var/lib/apt/lists/*
@@ -69,6 +55,18 @@ RUN apt-get update && \
     git lfs install && \
     mkdir -p /apps /scratch /lustre /work /projects /data
 
+# CMake version 3.12.4
+RUN apt-get update -y && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        make \
+        wget && \
+    rm -rf /var/lib/apt/lists/*
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
+    mkdir -p /usr/local && \
+    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
+    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
+ENV PATH=/usr/local/bin:$PATH
+
 # Package manager Conan building block
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -86,12 +84,12 @@ RUN apt-get update -y && \
         python3-setuptools \
         python3-wheel && \
     rm -rf /var/lib/apt/lists/*
-RUN pip3 install conan==1.20.5
+RUN pip3 install conan==1.21.0
 RUN mkdir -p /opt/conan && \
     chmod 777 /opt/conan
 ENV CONAN_USER_HOME=/opt/conan
 LABEL org.opengeosys.pm=conan \
-    org.opengeosys.pm.conan.version=1.20.5
+    org.opengeosys.pm.conan.version=1.21.0
 LABEL org.opengeosys.pm.conan.user_home=/opt/conan
 
 # Include-what-you-use for clang version 8
@@ -108,7 +106,7 @@ RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://
     mkdir -p /var/tmp/include-what-you-use-clang_8.0/build && cd /var/tmp/include-what-you-use-clang_8.0/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/iwyy -D IWYU_LLVM_ROOT_PATH=/usr/lib/llvm-8 /var/tmp/include-what-you-use-clang_8.0 && \
     cmake --build /var/tmp/include-what-you-use-clang_8.0/build --target all -- -j$(nproc) && \
     cmake --build /var/tmp/include-what-you-use-clang_8.0/build --target install -- -j$(nproc) && \
-    rm -rf /var/tmp/clang_8.0.tar.gz /var/tmp/include-what-you-use-clang_8.0
+    rm -rf /var/tmp/include-what-you-use-clang_8.0 /var/tmp/clang_8.0.tar.gz
 ENV PATH=/usr/local/iwyy/bin:$PATH
 
 # Package manager Conan building block
diff --git a/scripts/docker/Dockerfile.gcc.full b/scripts/docker/Dockerfile.gcc.full
index 7f2a0b05c4b1620b310d36a9b3bde65295591efb..f2f099e27f53f998eab1a8f0b0e177300d27ac66 100644
--- a/scripts/docker/Dockerfile.gcc.full
+++ b/scripts/docker/Dockerfile.gcc.full
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM ubuntu:18.04 AS build
 
 # Generated with ogs-container-maker 1.2.0
 
@@ -17,24 +17,10 @@ RUN apt-get update -y && \
         gcc && \
     rm -rf /var/lib/apt/lists/*
 
-# CMake version 3.12.4
-RUN apt-get update -y && \
-    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        make \
-        wget && \
-    rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
-    mkdir -p /usr/local && \
-    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
-    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
-ENV PATH=/usr/local/bin:$PATH
-
 # OGS base building block
 # Python
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        python \
-        python-dev \
         python3 \
         python3-dev && \
     rm -rf /var/lib/apt/lists/*
@@ -62,6 +48,18 @@ RUN apt-get update && \
     git lfs install && \
     mkdir -p /apps /scratch /lustre /work /projects /data
 
+# CMake version 3.12.4
+RUN apt-get update -y && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        make \
+        wget && \
+    rm -rf /var/lib/apt/lists/*
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
+    mkdir -p /usr/local && \
+    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
+    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
+ENV PATH=/usr/local/bin:$PATH
+
 # Package manager Conan building block
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -79,12 +77,12 @@ RUN apt-get update -y && \
         python3-setuptools \
         python3-wheel && \
     rm -rf /var/lib/apt/lists/*
-RUN pip3 install conan==1.20.5
+RUN pip3 install conan==1.21.0
 RUN mkdir -p /opt/conan && \
     chmod 777 /opt/conan
 ENV CONAN_USER_HOME=/opt/conan
 LABEL org.opengeosys.pm=conan \
-    org.opengeosys.pm.conan.version=1.20.5
+    org.opengeosys.pm.conan.version=1.21.0
 LABEL org.opengeosys.pm.conan.user_home=/opt/conan
 
 # cppcheck version 1.87
@@ -94,7 +92,7 @@ RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://
     mkdir -p /var/tmp/cppcheck-1.87/build && cd /var/tmp/cppcheck-1.87/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/cppcheck -D CMAKE_BUILD_TYPE=Release /var/tmp/cppcheck-1.87 && \
     cmake --build /var/tmp/cppcheck-1.87/build --target all -- -j$(nproc) && \
     cmake --build /var/tmp/cppcheck-1.87/build --target install -- -j$(nproc) && \
-    rm -rf /var/tmp/1.87.tar.gz /var/tmp/cppcheck-1.87
+    rm -rf /var/tmp/cppcheck-1.87 /var/tmp/1.87.tar.gz
 ENV PATH=/usr/local/cppcheck/bin:$PATH
 
 RUN apt-get update -y && \
diff --git a/scripts/docker/Dockerfile.gcc.gui b/scripts/docker/Dockerfile.gcc.gui
index 62a986576f187be3e66194edb4ce9d937de6f656..182f040303f96f9ab0e3986ce6783df5ba8057dc 100644
--- a/scripts/docker/Dockerfile.gcc.gui
+++ b/scripts/docker/Dockerfile.gcc.gui
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM ubuntu:18.04 AS build
 
 # Generated with ogs-container-maker 1.2.0
 
@@ -17,24 +17,10 @@ RUN apt-get update -y && \
         gcc && \
     rm -rf /var/lib/apt/lists/*
 
-# CMake version 3.12.4
-RUN apt-get update -y && \
-    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        make \
-        wget && \
-    rm -rf /var/lib/apt/lists/*
-RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
-    mkdir -p /usr/local && \
-    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
-    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
-ENV PATH=/usr/local/bin:$PATH
-
 # OGS base building block
 # Python
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-        python \
-        python-dev \
         python3 \
         python3-dev && \
     rm -rf /var/lib/apt/lists/*
@@ -70,6 +56,18 @@ RUN apt-get update -y && \
         mesa-common-dev && \
     rm -rf /var/lib/apt/lists/*
 
+# CMake version 3.12.4
+RUN apt-get update -y && \
+    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        make \
+        wget && \
+    rm -rf /var/lib/apt/lists/*
+RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \
+    mkdir -p /usr/local && \
+    /bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \
+    rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh
+ENV PATH=/usr/local/bin:$PATH
+
 # Package manager Conan building block
 RUN apt-get update -y && \
     DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
@@ -87,12 +85,12 @@ RUN apt-get update -y && \
         python3-setuptools \
         python3-wheel && \
     rm -rf /var/lib/apt/lists/*
-RUN pip3 install conan==1.20.5
+RUN pip3 install conan==1.21.0
 RUN mkdir -p /opt/conan && \
     chmod 777 /opt/conan
 ENV CONAN_USER_HOME=/opt/conan
 LABEL org.opengeosys.pm=conan \
-    org.opengeosys.pm.conan.version=1.20.5
+    org.opengeosys.pm.conan.version=1.21.0
 LABEL org.opengeosys.pm.conan.user_home=/opt/conan
 
 # cppcheck version 1.87
@@ -102,7 +100,7 @@ RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://
     mkdir -p /var/tmp/cppcheck-1.87/build && cd /var/tmp/cppcheck-1.87/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/cppcheck -D CMAKE_BUILD_TYPE=Release /var/tmp/cppcheck-1.87 && \
     cmake --build /var/tmp/cppcheck-1.87/build --target all -- -j$(nproc) && \
     cmake --build /var/tmp/cppcheck-1.87/build --target install -- -j$(nproc) && \
-    rm -rf /var/tmp/1.87.tar.gz /var/tmp/cppcheck-1.87
+    rm -rf /var/tmp/cppcheck-1.87 /var/tmp/1.87.tar.gz
 ENV PATH=/usr/local/cppcheck/bin:$PATH
 
 # pip