diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 83fa2999346faac9fb84bccd3d0fb54f5c7a8f75..93cd2665c3c0cb9640f9f33351cdebc8d34813c5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,21 +1,19 @@
-image: docker:20.10.16
+image:
+  name: gcr.io/kaniko-project/executor:debug
+  entrypoint:
+    - ""
 
 stages:
   - build
   - deploy
 
-services:
-  - name: docker:20.10.16-dind
-    entrypoint: ["env", "-u", "DOCKER_HOST"]
-    command: ["dockerd-entrypoint.sh"]
-
 before_script:
-  - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin
+  - >
+    echo
+    "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}"
+    > /kaniko/.docker/config.json
 
 variables:
-  DOCKER_HOST: tcp://docker:2375/
-  DOCKER_DRIVER: overlay2
-  DOCKER_TLS_CERTDIR: ""
   LATEST_NAME: $CI_REGISTRY_IMAGE/$IMAGE_NAME
   UNIQUE_NAME: $CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHA
   DEPLOY_NAME: $CI_REGISTRY_IMAGE/$IMAGE_NAME:stable
@@ -23,15 +21,20 @@ variables:
 build:
   stage: build
   script:
-    - docker build -t $LATEST_NAME .
-    - docker image tag $LATEST_NAME $UNIQUE_NAME
-    - docker push $LATEST_NAME
-    - docker push $UNIQUE_NAME
+    - >
+      /kaniko/executor
+      --context $CI_PROJECT_DIR
+      --dockerfile Dockerfile
+      --destination $LATEST_NAME
+      --destination $UNIQUE_NAME
 
 deploy:
   stage: deploy
   script:
-    - docker image tag $LATEST_NAME $DEPLOY_NAME
-    - docker push $DEPLOY_NAME
+    - >
+      /kaniko/executor
+      --context $CI_PROJECT_DIR
+      --dockerfile Dockerfile
+      --destination $DEPLOY_NAME
   only:
     - deploy