SKOPEO-DELETE(1)
π SKOPEO-DELETE π
okay so bestie, we're talking about skopeo-delete(1) β the little subcommand that β¨marks your image for the registry's garbage collectorβ¨. it's giving "i'm putting you in the trash pile, whether the trash truck shows up is not my problem." let's get into it ποΈπ¦
πΈ SYNOPSIS πΈ
skopeo delete [options] image-name
β¨ DESCRIPTION β¨
so what it does is mark image-name for later deletion. that's it. that's the whole vibe. the actual effect is registry-specific, and ngl β a lot of registries just don't support this operation, or they won't let you do it in certain circumstances / configurations. so don't come crying to me when it doesn't work, i warned you π
WARNING: if image-name contains a digest, this affects the referenced manifest, and it may delete all tags (within the current repository?) pointing to that manifest. yeah. all of them. not just one. π
WARNING: if image-name contains a tag (but no digest), in the current version of Skopeo this resolves the tag into a digest, and then deletes the manifest by digest, exactly as described above β which means it might delete all tags pointing to that manifest, not just the provided tag. this behavior may change in the future. so likeβ¦ be aware. lowkey terrifying but okay π«Ά
π the github.com/distribution/distribution registry tea β
if you're running that registry server: to actually release the allocated disk space, you must log in to the container registry server and run the container registry garbage collector. like, for real for real. e.g.:
/usr/bin/registry garbage-collect /etc/docker-distribution/registry/config.yml
Note: sometimes the config.yml is stored in /etc/docker/registry/config.yml β sneaky little path swap, iykyk π
and if you're running the container registry inside a container, you'd run something like:
$ docker exec -it registry /usr/bin/registry garbage-collect /etc/docker-distribution/registry/config.yml
π OPTIONS π
also, heads up: see skopeo(1) for options that go before the subcommand name π
--authfilepath β path of the primary registry credentials file. on Linux, the default is${XDG_RUNTIME_DIR}/containers/auth.json. seecontainers-auth.json(5)for more deets about the credential search mechanism and the defaults on other platforms. useskopeo loginto manage the credentials. the default value of this option is read from theREGISTRY_AUTH_FILEenvironment variable. π--credsusername[:password] β credentials for accessing the registry.--cert-dirpath β use certificates at path (*.crt,*.cert,*.key) to connect to the registry. π--daemon-hosthost β use docker daemon host at host (docker-daemon:transport only).--help,-hβ print usage statement. classic. the GOAT. β¨--no-credsβ access the registry anonymously. additionally, the registry must allow deletions by settingREGISTRY_STORAGE_DELETE_ENABLED=truefor the registry daemon. π--registry-tokentoken β bearer token for accessing the registry.--retry-timesβ the number of times to retry. by default, no retries are attempted. π―--retry-delayβ fixed delay between retries. if not set (or set to0s), retry wait time will be exponentially increased based on the number of failed attempts. π--shared-blob-dirdirectory β directory to use to share blobs across OCI repositories.--tls-verify=boolβ require HTTPS and verify certificates when talking to the container registry or daemon. defaults to theregistry.confsetting. π--usernameβ the username to access the registry.--passwordβ the password to access the registry.
π EXAMPLES π
mark image example/pause for deletion from the registry.example.com registry:
$ skopeo delete docker://registry.example.com/example/pause:latest
see above for additional details on using the command delete. yes, "see above." we love a self-referential moment π
π SEE ALSO π
skopeo(1), skopeo-login(1), docker-login(1), containers-auth.json(5)
π«Ά AUTHORS π«Ά
absolute icons, the whole lineup:
- Antonio Murdaca
runcom@redhat.comβ¨mailto:runcom@redhat.comβ© - Miloslav Trmac
mitr@redhat.comβ¨mailto:mitr@redhat.comβ© - Jhon Honce
jhonce@redhat.comβ¨mailto:jhonce@redhat.comβ©
and that's the whole page bestie!! this was skopeo-delete(1)() β you found it in the skopeo-delete(1) section of your manual, and now you're a certified expert. go forth and mark things for deletion responsibly, mwah ππΈβ¨
π¦ where this page comes from
- arch rolling: skopeo 1.24.1-1 Β· Apache-2.0
- fedora 43: skopeo 1:1.22.2-2.fc43
- fedora 43: skopeo 1:1.22.3-1.fc43 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: skopeo 1:1.22.0-2.fc44 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- fedora 44: skopeo 1:1.22.3-1.fc44 Β· Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
- nixos 26.05: skopeo 1.22.2
- nixpkgs unstable: skopeo 1.24.1
- ubuntu stonking: skopeo 1.22.0+ds1-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms