diff --git a/lib/modules/datasource/docker/common.spec.ts b/lib/modules/datasource/docker/common.spec.ts
index 5fbc6da3eab038a9ac0680f0b7d991b9ba685d2e..3c04dd9da9c1c10c517202decda6e316a51e49e0 100644
--- a/lib/modules/datasource/docker/common.spec.ts
+++ b/lib/modules/datasource/docker/common.spec.ts
@@ -102,6 +102,14 @@ describe('modules/datasource/docker/common', () => {
           registryHost: 'https://index.docker.io',
         },
       },
+      {
+        name: 'registry-1.docker.io/bitnamicharts/cert-manager',
+        url: 'https://index.docker.io',
+        res: {
+          dockerRepository: 'bitnamicharts/cert-manager',
+          registryHost: 'https://index.docker.io',
+        },
+      },
     ])('($name, $url)', ({ name, url, res }) => {
       expect(getRegistryRepository(name, url)).toStrictEqual(res);
     });
diff --git a/lib/modules/datasource/docker/common.ts b/lib/modules/datasource/docker/common.ts
index 78845b8ad66c5db39c988caddc1a1c8c03c055a5..99945705ce7e7c0d81fcd3cb31456c8132cbcba5 100644
--- a/lib/modules/datasource/docker/common.ts
+++ b/lib/modules/datasource/docker/common.ts
@@ -299,10 +299,9 @@ export function getRegistryRepository(
     dockerRepository = `${trimTrailingSlash(path)}/${dockerRepository}`;
   }
 
-  registryHost = registryHost.replace(
-    'https://docker.io',
-    'https://index.docker.io',
-  );
+  registryHost = registryHost
+    .replace('https://docker.io', 'https://index.docker.io')
+    .replace('https://registry-1.docker.io', 'https://index.docker.io');
 
   const opts = hostRules.find({
     hostType: dockerDatasourceId,
diff --git a/lib/modules/datasource/docker/index.spec.ts b/lib/modules/datasource/docker/index.spec.ts
index 51f8e4554861f1072e2d88e3bf31c821c75b715a..bbef484cbd3465506be4a013f4e46e9f263607f6 100644
--- a/lib/modules/datasource/docker/index.spec.ts
+++ b/lib/modules/datasource/docker/index.spec.ts
@@ -1787,6 +1787,47 @@ describe('modules/datasource/docker/index', () => {
       });
     });
 
+    it('Uses Docker Hub tags for registry-1.docker.io', async () => {
+      process.env.RENOVATE_X_DOCKER_HUB_TAGS = 'true';
+      httpMock
+        .scope(dockerHubUrl)
+        .get('/library/node/tags?page_size=1000')
+        .reply(200, {
+          next: `${dockerHubUrl}/library/node/tags?page=2&page_size=1000`,
+          results: [
+            {
+              name: '1.0.0',
+              tag_last_pushed: '2021-01-01T00:00:00.000Z',
+              digest: 'aaa',
+            },
+          ],
+        })
+        .get('/library/node/tags?page=2&page_size=1000')
+        .reply(200, {
+          results: [
+            {
+              name: '0.9.0',
+              tag_last_pushed: '2020-01-01T00:00:00.000Z',
+              digest: 'bbb',
+            },
+          ],
+        });
+      const res = await getPkgReleases({
+        datasource: DockerDatasource.id,
+        packageName: 'registry-1.docker.io/library/node',
+      });
+      expect(res?.releases).toMatchObject([
+        {
+          version: '0.9.0',
+          releaseTimestamp: '2020-01-01T00:00:00.000Z',
+        },
+        {
+          version: '1.0.0',
+          releaseTimestamp: '2021-01-01T00:00:00.000Z',
+        },
+      ]);
+    });
+
     it('adds library/ prefix for Docker Hub (implicit)', async () => {
       process.env.RENOVATE_X_DOCKER_HUB_TAGS = 'true';
       const tags = ['1.0.0'];