docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 876 forks source link

Delete single blob via HTTP API v2 #1091

Closed ilyasku closed 7 years ago

ilyasku commented 7 years ago

In my private registry, I would love to be able to delete single blobs/layers.
This section in the docs sounds very promising. I can send a DELETE request that returns response code 202, e.g. with a DELETE on URL: http://localhost:5000/v2/hello-world/blobs/sha256:c54a2cc56cbb2f04003c1cd4507e118af7c0d340fe7e2720f70976c4b75237dc But if I check on my disk, that blob is still there.
I had hoped I could use this instead of the garbage-collector. Let's say I know this blob is safe to delete, garbage-collection would take a long time to compute which layers are safe to delete, and I want to avoid that. in short : does a DELETE request on /v2/<name>/blobs/<digest> really delete the blob from disk? If yes, am I just using it wrong?

update: Okay, it looks like this only deletes the link files found in _layers and _manifests folders of a repository. Sorry, I should have checked that before. Even though I'm aware that 'deletion' of images does not delete anything from disk, I hoped this would be different for deletion of blobs. Using the word 'delete' in context of blobs is seems to be even more misleading.