diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e5c11cd2d0bf5160452fa0d5ab0686274d0749c1..081c488354832d8aad5d50ab7e13501adac6172c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,28 +41,25 @@ after_script:
 
 build:
   stage: build
-  image: ubuntu:latest
+  image: docker:latest
   services:
     - name: docker:dind
       command: ["--host=tcp://0.0.0.0:2375", "--tls=false", "--storage-driver=overlay2", "--mtu=1500", "--data-root=/mnt/volume"]
   script:
-    - apt-get update
-    - apt-get install -y docker.io
+    - docker info
     - docker buildx create --use
-    - docker build --cache-from=22baar1mst/asyst-nlp-grader --no-cache --progress=plain -t 22baar1mst/asyst-nlp-grader:latest -f flask_ml_api/Dockerfile .
+    - docker buildx build --cache-from=type=registry,ref=22baar1mst/asyst-nlp-grader --no-cache --progress=plain -t 22baar1mst/asyst-nlp-grader:latest -f flask_ml_api/Dockerfile .
     - docker push 22baar1mst/asyst-nlp-grader:latest
   only:
     - master
 
 deploy:
   stage: deploy
-  image: ubuntu:latest
+  image: docker:latest
   services:
     - name: docker:dind
       command: ["--tls=false", "--storage-driver=overlay2", "--mtu=1500", "--data-root=/mnt/volume"]
   script:
-    - apt-get update
-    - apt-get install -y docker.io
     - docker pull 22baar1mst/asyst-nlp-grader:latest
     - docker run -d 22baar1mst/asyst-nlp-grader:latest
   only: