diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d6d609a47d1a95f5aa28a32e8eb76f167721afae..3885bfe5872f9e66d1cba76580e3c3bf8dc2024e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,16 +1,3 @@
----
-image: docker:19-git
-
-# Quickhack based on https://forum.gitlab.com/t/docker-dind-stops-working-after-12-1-0-update/28664/2
-services:
-  - name: docker:19-dind
-    entrypoint: ["env", "-u", "DOCKER_HOST"]
-    command: ["dockerd-entrypoint.sh"]
-variables:
-  DOCKER_HOST: tcp://docker:2375/
-  DOCKER_DRIVER: overlay2
-  DOCKER_TLS_CERTDIR: ""
-
 stages:
   - test
   - deploy
@@ -46,17 +33,20 @@ SonarScanner Analysis:
 
 Publish to Docker Hub:
   stage: deploy
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  variables:
+    CONTEXT: $CI_PROJECT_DIR
+    IMAGE_NAME: "$CI_REGISTRY_IMAGE"
   script:
     - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-    - docker build
+    - /kaniko/executor
       --build-arg=IMAGE_CREATED="$(date --utc -Iseconds)"
       --build-arg=IMAGE_REVISION="$(git show --pretty=oneline | tac | tail -n 1 | awk '{print $1}')"
       --build-arg=IMAGE_AUTHOR="${IMAGE_AUTHOR}"
-      --tag $IMAGE_NAMESPACE/sonar-scanner-flutter-cli:latest .
-    - docker push $IMAGE_NAMESPACE/sonar-scanner-flutter-cli:latest
+      --tag $IMAGE_NAMESPACE/sonar-scanner-flutter-cli:latest
   when: manual
   allow_failure: true
-  tags:
-    - docker
   only:
     - master
diff --git a/Dockerfile b/Dockerfile
index f38536fba81e08d8f991b748e41c875e169429e7..de2c042dff150ce89e34abe17b86c15549e56b32 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM cirrusci/flutter:latest
+FROM jro7/flutter_lcov:latest
 
 # Avoid warnings by switching to noninteractive
 ENV DEBIAN_FRONTEND=noninteractive