diff --git a/.gitlab/ci/.build-container-images.yml b/.gitlab/ci/.build-container-images.yml
index ab89264c7f5d1a84a7882dda9cb515e225642311..57f7f191756b1cf9012fae4680a07fca8ae55ded 100644
--- a/.gitlab/ci/.build-container-images.yml
+++ b/.gitlab/ci/.build-container-images.yml
@@ -24,6 +24,18 @@ build-controller-image:
         - docker push "$CI_REGISTRY_IMAGE:$NEWTAG"
     <<: *build
 
+build-cli-image:
+    script:
+        - CLI_IMAGE_NAME="${CI_REGISTRY_IMAGE}/gosdnc"
+        - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+        - docker buildx build -t "$CLI_IMAGE_NAME:$TAG" -f "${CI_PROJECT_DIR}/cli/cli.Dockerfile" --build-arg "GOLANG_VERSION=$GOLANG_VERSION" --build-arg "BUILDARGS=$BUILDARGS" --build-arg "GITLAB_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/" .
+        - docker push "$CLI_IMAGE_NAME:$TAG"
+        # replace all slashes in the tag with hyphen, because slashes are not allowed in tags
+        - NEWTAG=${CI_COMMIT_BRANCH//\//-}
+        - docker tag "$CLI_IMAGE_NAME:$TAG" "$CLI_IMAGE_NAME:$NEWTAG"
+        - docker push "$CLI_IMAGE_NAME:$NEWTAG"
+    <<: *build
+
 build-venv-manager-image:
     script:
         - VENV_MANAGER_IMAGE_NAME="${CI_REGISTRY_IMAGE}/venv-manager"
diff --git a/cli/cli.Dockerfile b/cli/cli.Dockerfile
index 59f3b5ec20b681602594d11e2475378c62dff822..71e72da760ebb16804093d47ac7ab4edfae19e20 100644
--- a/cli/cli.Dockerfile
+++ b/cli/cli.Dockerfile
@@ -10,8 +10,5 @@ RUN --mount=type=cache,target=/root/go/pkg/mod \
     --mount=type=cache,target=/root/.cache/go-build \
     make build-gosdnc
 
-FROM scratch as gosdnc
-
+FROM ubuntu:22.04
 COPY --from=builder /gosdn/artifacts/gosdnc /
-
-ENTRYPOINT ["./gosdnc"]