$ docker run \
-p 5000:5000 \
registry:2
$ docker run \
--name registry-browser \
-it --rm \
-p 8080:8080 \
-e DOCKER_REGISTRY_URL=http://<LOCAL_IP>:5000 \
-e ENABLE_DELETE_IMAGES=true \
klausmeyer/docker-registry-browser
I push an image to the Docker server, then browse around the UI, then I use the UI to trigger a deletion of the tag. When that happens, I get the following failure printed by the UI:
We're sorry, but something went wrong.
If you are the application owner check the logs for more information.
I, [2020-03-06T06:15:22.443890 #1] INFO -- : [1deb24e3-865f-49bf-8e8e-e966d6993bcb] Started DELETE "/repo/tlhunter/recipe-api/tag/v0.0.3" for 172.17.0.1 at 2020-03-06 06:15:22 +0000
I, [2020-03-06T06:15:22.444434 #1] INFO -- : [1deb24e3-865f-49bf-8e8e-e966d6993bcb] Processing by TagsController#destroy as HTML
I, [2020-03-06T06:15:22.444486 #1] INFO -- : [1deb24e3-865f-49bf-8e8e-e966d6993bcb] Parameters: {"authenticity_token"=>"CfuMV0HP7NzI90CWFYU+teO8TFKEc67ecECIS4ocOu+eMimH06CcyD84q8jcohYIty+P0y0hXIJ38adiOkhkFA==", "repo"=>"tlhunter/recipe-api", "tag"=>"v0.0.3"}
I, [2020-03-06T06:15:22.445382 #1] INFO -- request: GET http://192.168.2.234:5000/v2/tlhunter/recipe-api/tags/list
D, [2020-03-06T06:15:22.445419 #1] DEBUG -- request: User-Agent: "Faraday v0.17.3"
I, [2020-03-06T06:15:22.447625 #1] INFO -- response: Status 200
D, [2020-03-06T06:15:22.447690 #1] DEBUG -- response: content-type: "application/json; charset=utf-8"
docker-distribution-api-version: "registry/2.0"
x-content-type-options: "nosniff"
date: "Fri, 06 Mar 2020 06:15:22 GMT"
content-length: "67"
connection: "close"
I, [2020-03-06T06:15:22.448312 #1] INFO -- request: GET http://192.168.2.234:5000/v2/tlhunter/recipe-api/manifests/v0.0.3
D, [2020-03-06T06:15:22.448411 #1] DEBUG -- request: User-Agent: "Faraday v0.17.3"
Accept: "application/vnd.docker.distribution.manifest.v2+json"
I, [2020-03-06T06:15:22.450816 #1] INFO -- response: Status 200
D, [2020-03-06T06:15:22.450880 #1] DEBUG -- response: content-length: "1161"
content-type: "application/vnd.docker.distribution.manifest.v2+json"
docker-content-digest: "sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8"
docker-distribution-api-version: "registry/2.0"
etag: "\"sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8\""
x-content-type-options: "nosniff"
date: "Fri, 06 Mar 2020 06:15:22 GMT"
connection: "close"
I, [2020-03-06T06:15:22.451495 #1] INFO -- request: GET http://192.168.2.234:5000/v2/tlhunter/recipe-api/blobs/sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b
D, [2020-03-06T06:15:22.451536 #1] DEBUG -- request: User-Agent: "Faraday v0.17.3"
I, [2020-03-06T06:15:22.454501 #1] INFO -- response: Status 200
D, [2020-03-06T06:15:22.454568 #1] DEBUG -- response: accept-ranges: "bytes"
cache-control: "max-age=31536000"
content-length: "3611"
content-type: "application/octet-stream"
docker-content-digest: "sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b"
docker-distribution-api-version: "registry/2.0"
etag: "\"sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b\""
x-content-type-options: "nosniff"
date: "Fri, 06 Mar 2020 06:15:22 GMT"
connection: "close"
I, [2020-03-06T06:15:22.455892 #1] INFO -- request: DELETE http://192.168.2.234:5000/v2/tlhunter/recipe-api/manifests/sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8
D, [2020-03-06T06:15:22.455949 #1] DEBUG -- request: User-Agent: "Faraday v0.17.3"
I, [2020-03-06T06:15:22.458356 #1] INFO -- : [1deb24e3-865f-49bf-8e8e-e966d6993bcb] Completed 500 Internal Server Error in 14ms (Allocations: 4549)
F, [2020-03-06T06:15:22.458832 #1] FATAL -- : [1deb24e3-865f-49bf-8e8e-e966d6993bcb]
[1deb24e3-865f-49bf-8e8e-e966d6993bcb] Faraday::ClientError (the server responded with status 405):
[1deb24e3-865f-49bf-8e8e-e966d6993bcb]
[1deb24e3-865f-49bf-8e8e-e966d6993bcb] app/models/tag.rb:59:in `delete'
[1deb24e3-865f-49bf-8e8e-e966d6993bcb] app/controllers/tags_controller.rb:10:in `destroy'
time="2020-03-06T06:12:21.578678568Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=1c4b5032-1d13-4340-974f-830928191e2e http.request.method=GET http.request.remoteaddr="172.17.0.1:55504" http.request.uri="/v2/tlhunter/recipe-api/tags/list" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.866582ms http.response.status=200 http.response.written=67
172.17.0.1 - - [06/Mar/2020:06:12:21 +0000] "GET /v2/tlhunter/recipe-api/tags/list HTTP/1.1" 200 67 "" "Faraday v0.17.3"
time="2020-03-06T06:12:21.582053042Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=698afd9e-4745-45e3-95c4-2b0ff38af3fd http.request.method=GET http.request.remoteaddr="172.17.0.1:55508" http.request.uri="/v2/tlhunter/recipe-api/manifests/v0.0.3" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/vnd.docker.distribution.manifest.v2+json" http.response.duration=1.256827ms http.response.status=200 http.response.written=1161
172.17.0.1 - - [06/Mar/2020:06:12:21 +0000] "GET /v2/tlhunter/recipe-api/manifests/v0.0.3 HTTP/1.1" 200 1161 "" "Faraday v0.17.3"
time="2020-03-06T06:12:21.587534562Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=1db258ff-3709-431a-9148-7cbad0861dcb http.request.method=GET http.request.remoteaddr="172.17.0.1:55512" http.request.uri="/v2/tlhunter/recipe-api/blobs/sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/octet-stream" http.response.duration=3.258145ms http.response.status=200 http.response.written=3611
172.17.0.1 - - [06/Mar/2020:06:12:21 +0000] "GET /v2/tlhunter/recipe-api/blobs/sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b HTTP/1.1" 200 3611 "" "Faraday v0.17.3"
time="2020-03-06T06:12:21.592658657Z" level=error msg="response completed with error" err.code=unsupported err.message="The operation is unsupported." go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=c9a24dae-ccd5-4cf8-b788-f3148686845c http.request.method=DELETE http.request.remoteaddr="172.17.0.1:55516" http.request.uri="/v2/tlhunter/recipe-api/manifests/sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.219531ms http.response.status=405 http.response.written=78 vars.name="tlhunter/recipe-api" vars.reference="sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8"
172.17.0.1 - - [06/Mar/2020:06:12:21 +0000] "DELETE /v2/tlhunter/recipe-api/manifests/sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8 HTTP/1.1" 405 78 "" "Faraday v0.17.3"
^[[5~172.17.0.1 - - [06/Mar/2020:06:15:22 +0000] "GET /v2/tlhunter/recipe-api/tags/list HTTP/1.1" 200 67 "" "Faraday v0.17.3"
time="2020-03-06T06:15:22.447104094Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=59eabe42-1f7c-4299-96ec-8f47bff7ba5f http.request.method=GET http.request.remoteaddr="172.17.0.1:55560" http.request.uri="/v2/tlhunter/recipe-api/tags/list" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.073245ms http.response.status=200 http.response.written=67
172.17.0.1 - - [06/Mar/2020:06:15:22 +0000] "GET /v2/tlhunter/recipe-api/manifests/v0.0.3 HTTP/1.1" 200 1161 "" "Faraday v0.17.3"
time="2020-03-06T06:15:22.450158628Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=2537d9df-5fb4-4919-9341-a3426e71091a http.request.method=GET http.request.remoteaddr="172.17.0.1:55564" http.request.uri="/v2/tlhunter/recipe-api/manifests/v0.0.3" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/vnd.docker.distribution.manifest.v2+json" http.response.duration=1.099761ms http.response.status=200 http.response.written=1161
time="2020-03-06T06:15:22.453791802Z" level=info msg="response completed" go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=00e396ce-e989-42cb-8ed8-fe5378de8508 http.request.method=GET http.request.remoteaddr="172.17.0.1:55568" http.request.uri="/v2/tlhunter/recipe-api/blobs/sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/octet-stream" http.response.duration=1.479332ms http.response.status=200 http.response.written=3611
172.17.0.1 - - [06/Mar/2020:06:15:22 +0000] "GET /v2/tlhunter/recipe-api/blobs/sha256:12d0c7e379355f84e8af419b0657e4f4118c5b8cb81d1942cd535dd6bb9e6f3b HTTP/1.1" 200 3611 "" "Faraday v0.17.3"
time="2020-03-06T06:15:22.457580934Z" level=error msg="response completed with error" err.code=unsupported err.message="The operation is unsupported." go.version=go1.11.2 http.request.host="192.168.2.234:5000" http.request.id=cc4abbae-1479-4e96-8992-96ec6a532b48 http.request.method=DELETE http.request.remoteaddr="172.17.0.1:55572" http.request.uri="/v2/tlhunter/recipe-api/manifests/sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8" http.request.useragent="Faraday v0.17.3" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.101648ms http.response.status=405 http.response.written=78 vars.name="tlhunter/recipe-api" vars.reference="sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8"
172.17.0.1 - - [06/Mar/2020:06:15:22 +0000] "DELETE /v2/tlhunter/recipe-api/manifests/sha256:0c535692e66d91e69744a2ac4b4c698dbd7694522be448bc40c4f83dae3dedb8 HTTP/1.1" 405 78 "" "Faraday v0.17.3"