Weird empty folders in Docker Registry

I have noticed several empty folders in my docker registry and I am unsure how they came to be and why they keep existing:
Screenshot 2022-03-25 at 20-01-11 Browse - Nexus Repository Manager

We only manually push into the registry and have it remove all images that haven’t been touched after 1 year (it’s a mirror of another registry and we only want to keep those images our developers are actually using).

Currently configured are these tasks:

  • Cleanup using policy (policy = age 365 days)
  • Delete incomplete uploads (24h)
  • Delete unused manifests & images (offset 24h)

Can these be leftovers from a clean-up in a previous version of Nexus that maybe had some issues? Is there a way to get rid of these folders (without having to manually browse through the whole registry)?

Try running the “Repair - Rebuild repository browse” task to see if that cleans them up. Assuming no assets are underneath those virtual folders, they should go away once the task is complete.

That seems to have done the trick, thanks!
Is this a job I should schedule regularly?

Generally no, any time the job runs the UI browse feature will be unavailable and it shouldn’t get out of sync like you were seeing. That said, if you want to rebuild them occasionally it shouldn’t really cause any problems unless turning over that many records on a regular basis causes some db issue.