diff --git a/lib/modules/manager/gradle-wrapper/util.spec.ts b/lib/modules/manager/gradle-wrapper/util.spec.ts
index e5e3ba7bb2d93d5b8fcee8fe8cfd4b9c939682fa..c743eb8dd510b8f0d1024316c85a443263624a95 100644
--- a/lib/modules/manager/gradle-wrapper/util.spec.ts
+++ b/lib/modules/manager/gradle-wrapper/util.spec.ts
@@ -39,6 +39,12 @@ describe('modules/manager/gradle-wrapper/util', () => {
       GlobalConfig.set({ binarySource: 'docker' });
       expect(getJavaConstraint('7.0.1')).toBe('^16.0.0');
     });
+
+    it('return ^17.0.0 for docker gradle >= 7.3', () => {
+      GlobalConfig.set({ binarySource: 'docker' });
+      expect(getJavaConstraint('7.3.0')).toBe('^17.0.0');
+      expect(getJavaConstraint('8.0.1')).toBe('^17.0.0');
+    });
   });
 
   describe('extractGradleVersion()', () => {
diff --git a/lib/modules/manager/gradle-wrapper/utils.ts b/lib/modules/manager/gradle-wrapper/utils.ts
index cbd7a0f9629120e01929b9b54ea4a9750dc3caad..473e958f3cf4cb857ed3a2afbfc900875289b844 100644
--- a/lib/modules/manager/gradle-wrapper/utils.ts
+++ b/lib/modules/manager/gradle-wrapper/utils.ts
@@ -48,6 +48,10 @@ export function getJavaConstraint(
   gradleVersion: string | null | undefined
 ): string | null {
   const major = gradleVersion ? gradleVersioning.getMajor(gradleVersion) : null;
+  const minor = gradleVersion ? gradleVersioning.getMinor(gradleVersion) : null;
+  if (major && (major > 7 || (major >= 7 && minor && minor >= 3))) {
+    return '^17.0.0';
+  }
   if (major && major >= 7) {
     return '^16.0.0';
   }
diff --git a/lib/modules/manager/gradle/artifacts.spec.ts b/lib/modules/manager/gradle/artifacts.spec.ts
index b3b0426da2b3d9dce00b6b257e53b7c7d9e722bf..8e0f07e19dba67e636ba386b9d50024b348c8cc2 100644
--- a/lib/modules/manager/gradle/artifacts.spec.ts
+++ b/lib/modules/manager/gradle/artifacts.spec.ts
@@ -83,7 +83,7 @@ describe('modules/manager/gradle/artifacts', () => {
         content = 'New gradle.lockfile';
       } else if (fileName === 'gradle/wrapper/gradle-wrapper.properties') {
         content =
-          'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.4-bin.zip';
+          'distributionUrl=https\\://services.gradle.org/distributions/gradle-7.2-bin.zip';
       }
 
       return Promise.resolve(content);