diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 01bbc238b7290b04b256db2f2b82ab0cd6d74cd9..e74958b1b7a4866098f39bae5bd216a77277b71d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,10 +36,10 @@ build_container:
     entrypoint: [""]
   script:
     - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
-    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/container/arch/Dockerfile --destination $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG}_linux
+    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/container/ubuntu/Dockerfile --destination $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG}_linux
   rules:
     - changes:
-        - container/arch/Dockerfile
+        - container/ubuntu/Dockerfile
 
 # Build petrack and petrack unit_tests
 build_linux:
@@ -75,7 +75,7 @@ regression_test_linux:
   stage: test
   script:
     - cd tests/regression_test/tests
-    - python -m pytest --path=../../../build/petrack --junitxml=pytest_report.xml >> "RegressionTestLog.txt"
+    - python3 -m pytest --path=../../../build/petrack --junitxml=pytest_report.xml >> "RegressionTestLog.txt"
   artifacts:
     when: on_failure
     paths:
diff --git a/container/arch/Dockerfile b/container/arch/Dockerfile
deleted file mode 100644
index 717aa87e5a53f13f26b29b05c155e99a721d696a..0000000000000000000000000000000000000000
--- a/container/arch/Dockerfile
+++ /dev/null
@@ -1,46 +0,0 @@
-FROM archlinux:20200705
-
-# Update the repositories
-RUN pacman -Syy
-
-# Install the needed tools
-RUN pacman -Syu --needed --noconfirm \
-	git \
-	gcc \
-	cmake \
-	make \
-	base-devel \
-	ninja
-
-# Install the needed libraries
-RUN pacman -Syu --needed --noconfirm \
-	qt5-base \
-	qwt \
-	catch2
-
-# Install python
-RUN pacman -Syu --needed --noconfirm \
-    python \
-    python-pip
-RUN pip install pytest
-
-# Install trompeloeil from source (not in package manager)
-RUN mkdir deps && \
-    cd deps && \
-    git clone https://github.com/rollbear/trompeloeil.git &&\
-    cd trompeloeil &&\
-    git fetch --all --tags &&\
-    git checkout tags/v38 &&\
-    mkdir build &&\
-    cd build && \
-    cmake .. && \
-    cmake --build . --target install
-
-# Install opencv 4.2 (last command to avoid any updates by pacman)
-RUN pacman --needed --noconfirm -U \
-    https://archive.archlinux.org/packages/h/hdf5/hdf5-1.10.5-1-x86_64.pkg.tar.xz \
-    https://archive.archlinux.org/packages/v/vtk/vtk-8.2.0-9-x86_64.pkg.tar.xz \
-    https://archive.archlinux.org/packages/g/glew/glew-2.1.0-1-x86_64.pkg.tar.xz \
-    https://archive.archlinux.org/packages/o/openexr/openexr-2.4.0-6-x86_64.pkg.tar.xz \
-    https://archive.archlinux.org/packages/o/opencv/opencv-4.2.0-1-x86_64.pkg.tar.xz
-
diff --git a/container/ubuntu/Dockerfile b/container/ubuntu/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..0e727fb7b6322b2043ea240d725ffe0ac7e17b57
--- /dev/null
+++ b/container/ubuntu/Dockerfile
@@ -0,0 +1,38 @@
+FROM ubuntu:20.10
+
+# Update the repositories
+RUN apt-get update && apt-get install -y software-properties-common
+
+# Install the needed tools
+RUN apt-get update && apt-get install -y wget \
+                       git \
+                       g++ \
+                       make \
+                       ninja-build \
+                       cmake
+
+# Install the needed libraries
+RUN apt-get update && apt-get install -y \
+	qt5-default \
+	libqwt-qt5-dev \
+	libopencv-dev \
+	libopencv-contrib4.2 \
+	catch2
+
+# Install python
+RUN apt-get update && apt-get install -y \
+    python3 \
+    python3-pip
+RUN pip install pytest
+
+# Install trompeloeil from source (not in package manager)
+RUN mkdir deps && \
+    cd deps && \
+    git clone https://github.com/rollbear/trompeloeil.git &&\
+    cd trompeloeil &&\
+    git fetch --all --tags &&\
+    git checkout tags/v38 &&\
+    mkdir build &&\
+    cd build && \
+    cmake .. && \
+    cmake --build . --target install