diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bd66bcf2c9152d92cb4805ec5e6a3eab9f8dae02..a6b1ce4d4899ba441824e4bea2c8c6ae0c369d90 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -213,7 +213,7 @@ test:package:apt:bullseye:
 .publish:
   stage: deploy
   rules:
-    - if: '$CI_COMMIT_TAG =~ /v[0-9]+[.][0-9]+[.][0-9]+.*/'
+    - if: '$CI_COMMIT_TAG =~ /v[0-9]+[.][0-9]+[.][0-9]+.*/ && $REPUBLISH_DOCKER != "true"'
 
 publish:pip:
   extends: .publish
@@ -239,6 +239,8 @@ publish:apt:
 
 publish:docker:
   extends: .publish
+  rules:
+    - if: '$CI_COMMIT_TAG =~ /v[0-9]+[.][0-9]+[.][0-9]+.*/'
   image:
     name: gcr.io/go-containerregistry/crane:debug
     entrypoint: [""]