diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..7a1eba35d5be1e1e70c28d3669350e2a3fa1a77c
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,2 @@
+*
+!src
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 769dcb8b2a1d82a30e3ed0e66da64613c3f19563..dca64a53de18d74090fa4f20f0596b9e39179a4b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,6 +15,7 @@ include:
           - src/gitlab-tofu.sh
           - opentofu_versions.yaml
           - Dockerfile
+          - .dockerignore
           - .gitlab-ci.yml
           - tests/unit.gitlab-ci.yml
           - tests/unit/*
@@ -27,6 +28,7 @@ include:
           - src/gitlab-tofu.sh
           - opentofu_versions.yaml
           - Dockerfile
+          - .dockerignore
           - .gitlab-ci.yml
           - templates/*.yml
           - tests/integration.gitlab-ci.yml
@@ -115,6 +117,7 @@ gitlab-opentofu-image:build:
     - if: $CI_COMMIT_TAG
     - changes:
         - Dockerfile
+        - .dockerignore
         - opentofu_versions.yaml
         - .gitlab-ci.yml
         - src/**/*