Skip to content

Deleting cross-platform images leaves the deleted image in an unknown state #226

@agross

Description

@agross

Bug description

When the registry contains cross-platform images that are deleted via the UI, it leaves an undeletable image.

How to Reproduce

For UI bug, steps to reproduce the behavior:

  1. docker login to your registry
  2. Create a builder: docker buildx create --use
  3. Build a cross-platform busybox image:
    echo 'FROM busybox' | docker buildx build --platform linux/amd64,linux/arm64 \
                                              --tag your-registry.example.com/testing:1 \
                                              --push -
  4. Open the registry UI and delete testing:1

UI config:

      SINGLE_REGISTRY: 'true'
      DELETE_IMAGES: 'true'
      NGINX_PROXY_PASS_URL: http://registry:5000
      REGISTRY_URL: https://your-registry.example.com

Registry config:

      REGISTRY_STORAGE_DELETE_ENABLED: 'true'

Expected behavior

The deleted image should no longer be visible.

Screenshots

2022-01-15_10-00-11

System information

  • OS: docker
  • Docker registry UI:
    • Version: 2.1.0

    • Server: docker

    • Docker version: Docker version 20.10.12, build e91ed57

    • Docker registry ui tag: latest

    • OS/Arch: linux/amd64

    • Tools: docker-compose

Additional context

In the case of the screenshot above, the registry still contains the deleted image's tag:

$ docker container exec -it docker-registry_registry_1 ls /var/lib/registry/docker/registry/v2/repositories/gw/feedback/_manifests/tags
3.0.0-net-6.325  3.0.0-net-6.326

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions