Skip to main content

Manage repositories, images and tags in the registry

A project's images are grouped in repositories, and each image can carry any number of tags. This page shows how to browse them, and how to remove a tag, delete an image or delete a whole repository, with the dashboard, the CLI, the API and an AI agent. It also explains what happens to images that are left without a tag.

How repositories, images and tags relate​

  • A repository is created by the first push to it, for example docker push registry.cloider.com/acme/api:1.0 creates api. It holds every version of one image.
  • An image (an artifact in the API) is identified by its digest. Pushing the same content twice gives the same digest.
  • A tag is a name that points to one image. Pushing api:latest again moves latest to the new image; the old image stays, under its other tags or untagged.
  • A multi-platform image is one entry (an index) that lists its platforms, such as linux/amd64, linux/arm64. Its per-platform images aren't listed separately.

Browse repositories and images​

  1. Open Registry and click the project.
  2. Go to the Repositories tab. The tab appears once the project is Ready.
  3. The list shows each Repository with its number of Images, its Pulls and its Last push. Type in Filter repositories to narrow it down.
  4. Click a repository to see its images: Tags, Digest, Platforms, Size, Pushed and Last pulled.
The acme project's Repositories tab listing the api and web repositories with their image counts, pulls and last push
The Repositories tab. Click a repository to see its images and tags.

Useful buttons:

  • Copy image name next to a repository copies registry.cloider.com/acme/<repository>.
  • The copy icon on a tag, and Copy pull command on an image, copy a ready docker pull command.
  • Push commands opens the login, build and push steps for this repository.
  • A lock icon on a tag means an immutability rule protects it.

An empty project shows This project is empty. Push an image to create its first repository with an example docker push command.

Untagging vs deleting​

Removing a tag and deleting an image are different operations:

ActionWhat happensStorage freed?
Remove a tag (untag)Only the name goes. The image stays under its other tags and its digest. An image left with no tag at all is removed by the nightly cleanupOnly once the image is removed
Delete an imageThe image and every tag on it are deleted right awayYes
Delete a repositoryEvery image in the repository is deletedYes

Remove a tag when you want to stop a name from pointing somewhere (for example take latest off a broken build) but keep the image under its version tag. Delete the image when it should be gone under every name.

Remove a tag​

  1. In the Repositories tab, open the repository.
  2. Click the small x (Remove tag) on the tag.
  3. In Remove Tag, click Remove tag.

A tag with a lock icon is protected by an immutability rule and can't be removed.

Delete an image​

Deleting an image removes it and every tag on it. Anything that pulls it afterwards fails, though containers already running it keep running.

  1. In the Repositories tab, open the repository.
  2. Click the trash icon (Delete image) on the image's row.
  3. In Delete Image, click Delete.

The button is disabled on an image with an immutable tag (An immutable tag protects this image).

Images inside a multi-platform image

The per-platform images of a multi-platform index can't be deleted on their own while the index points to them. Deleting one fails with This image is in use by another image in the repository, delete that one first. Delete the index (the entry with several platforms) instead.

Delete a repository​

Deleting a repository deletes every image in it.

  1. In the Repositories tab, click the trash icon (Delete repository) on the repository's row.
  2. In Delete Repository, which says how many images go with it, click Delete.

A repository whose images are protected by an immutability rule can't be deleted until the rule is disabled or deleted.

The nightly cleanup of untagged images​

Images that have no tag left are removed automatically by the registry's nightly garbage collection. An image becomes untagged when:

  • you remove its last tag,
  • you push a tag that pointed to it (for example latest) again, to a new image, and it had no other tag.

An untagged image that a multi-platform index still points to is kept, because the index needs it. Until the cleanup runs, an untagged image can still be pulled by its digest and still counts toward the project's storage.

To keep an image, give it a tag before the cleanup runs:

docker pull registry.cloider.com/acme/api@sha256:e05d6f7a8b9c...
docker tag registry.cloider.com/acme/api@sha256:e05d6f7a8b9c... registry.cloider.com/acme/api:keep-1.0
docker push registry.cloider.com/acme/api:keep-1.0

Or copy the tag on without pulling, with docker buildx imagetools create -t registry.cloider.com/acme/api:keep-1.0 registry.cloider.com/acme/api@sha256:....

Deleting with a registry token​

A token with Pull & push permission can also delete images, tags and repositories through the standard registry API, for example with crane delete or skopeo delete. Pull only tokens can't delete anything.

The apps project​

The Repositories tab of your apps project (the one with the Apps badge) shows your apps' images: Your apps' images are built into this project and managed by Cloider. Each app keeps its last two deployed images, and deleting an app deletes its images. You can browse and copy pull commands, but you can't remove tags or delete images or repositories there.

Who can delete images?​

Owners and Admins of the account can delete. Members with the Restricted role, and read-only API tokens, can browse but get You have read-only access to this account, you can not delete images!. See Accounts and roles.

Troubleshooting​

ErrorCause and fix
A tag immutability rule protects this tag. Disable the rule in the Policy tab to delete it.The tag, or a tag on the image, is immutable. Disable or narrow the rule, or turn off Immutable tags. See Immutable tags
This image is in use by another image in the repository, delete that one first.A multi-platform index points to this image. Delete the index
It doesn't exist any more, reload and try again!Someone, a retention run or the nightly cleanup deleted it already
This project holds your apps' images and is managed by Cloider. Deleting an app deletes its images.You tried to delete in the apps project
The project must be ready to browse its images.The project is still being created, failed, or is being deleted
Couldn't reach the registry, try again in a moment!A temporary problem reaching the registry. Retry
no image in api is tagged "1.0" or has that digest (CLI)Check the tag with cloider registry images
N images in api have a digest starting with "4c7e", give more of it (CLI)Give more characters of the digest

Next steps​