hub-feedback
hub-feedback copied to clipboard
Advanced Image Management Feedback
Problem description
The Advanced Image Management user experience needs some work as there are some odd behaviors.
- Try to go to the Advanced Image Management of a repository that does not have inactive images. What if I actually want to remove an untagged image that Docker Hub calls "Active"? There isn't a way to do so unless you go to the advanced image management URL manually.
- I have a repository with over 1000 inactive image digests (see https://hub.docker.com/usage/docker/mbentley?repo=omada-controller). I would have to go through 40 some pages of images to delete them. There doesn't appear to be a way to prune all of them as it will only select one page at a time.
- If I delete all of the images from the last page, the interface isn't smart enough to take me to the last page. It just reports that there are not any results for the page that I just deleted. There is no navigation to go back to the first page. I have to remove the page number from the URI to go back to the first page.
Screen shots for all of the above are below.
docker info output
n/a
Debug Information
Browser name and version: Google Chrome 95.0.4638.69 (Official Build) (arm64) URL: https://hub.docker.com/usage/docker/mbentley?repo=omada-controller Timetamp or time range: n/a Public IP: 104.254.222.95 Hub Username: mbentley
Error messages (on screen or in browser console)
n/a
Screenshots of the issue (if applicable)
For item 1 above - No way to navigate through the UI to always see advanced image management:

For item 2 above - There is no way to select all images on all pages:

For item 3 above - Deleting images on last page takes me back here:

Task List
- [ X ] This is NOT a security issue
- [x] I do NOT have a Docker subscription
- [ X ] I have looked through other issues and they do NOT apply to me
👋 @mbentley
Thanks for the feedback! These have been forwarded to the team. I cannot give a timeline on fixing it, but we will follow up with any further questions we have.
This feedback is still relevant with what the current Image Management is today. I only have the ability to see and delete 15 images per page for a repository. I have at least over 10k images or image index type objects in one this same repository and I am still left with no way to clean it up efficiently. I would love to not be using 1.4 TB of space but I am not given a way to do so as that would give me over 600 pages that I would have to cleanup and I don't have time for that and that's one repo.
I'm in the same situation as @mbentley ! Is it so complicated to be able to have more than 15 items per page @ingshtrom ?
@w8ze-devel It can be, yes. To properly delete we need to traverse the dependency graph to make sure things can be safely removed. For simple images this isn't so bad, but in cases where users have hundreds or thousands of layers, this is time consuming and difficult to do without timing out some of the connections.
We opted instead to support deletes via the OCI endpoint. These are only one at a time, but it's easier to automate and do in parallel
From an end user standpoint, I wouldn't mind if the deletes are queued and processed over a long period of time. I don't want to have to spend time to go through page after page and delete them. I didn't thoroughly check but I have not seen API documentation for Image Management to be able to automate deletions - only what I can see from using my browser's dev tools to see what APIs are being called. I also wouldn't mind some sort of automatic deletion where I could configure a repo to auto-delete images that aren't tagged and are stale.
If Docker is ever considering enforcing some sort of storage limits and associated cost incurred to users of Docker Hub, then there really ought to be more robust user capabilities to manage images. I would gladly clean up my image repositories and remove old content like I used to be able to do with the old Hub APIs that were available but equivalent capabilities have not yet been re-implemented for me to do so.
We did update the registry API docs to include the deletion endpoint. This is usable with OCI tools like crane and regctl in order to automate deletions. In terms of capability, this allows more functionality than what was provided via the last iteration of image management.
We do have automated deletions planned, and they will be implemented before any limits would be enforced. We're also pushing on the OCI spec to allow a native "manifest listing" endpoint as well so this can all be done via OCI clients and work across all registries.