https://github.com/byrnedo/docker-reg-tool
Docker registry cli tool, primarily for deleting images.
https://github.com/byrnedo/docker-reg-tool
docker docker-registry docker-registry-cleanup
Last synced: 11 months ago
JSON representation
Docker registry cli tool, primarily for deleting images.
- Host: GitHub
- URL: https://github.com/byrnedo/docker-reg-tool
- Owner: byrnedo
- License: mit
- Created: 2016-04-28T14:01:52.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2023-10-26T06:04:40.000Z (over 2 years ago)
- Last Synced: 2025-05-20T05:02:08.385Z (about 1 year ago)
- Topics: docker, docker-registry, docker-registry-cleanup
- Language: Shell
- Size: 19.5 KB
- Stars: 197
- Watchers: 9
- Forks: 56
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Docker Registry Tool
Small bash script to do repetitive things with docker registry > 2.1 ( I think, whichever version supports delete by manifest)
## Dependencies
[Jq](https://stedolan.github.io/jq/)
```
Usage:
./docker_reg_tool REGISTRY_BASE_URL ACTION [OPTIONS..]
Actions:
- list list repos
- list REPO list tags for repo
- delete REPO TAG delete tag for repo
Example:
List all repos
/$ ./docker_reg_tool https://registry.my.domain list
List tags for one repo
/$ ./docker_reg_tool https://registry.my.domain list some-repo
Delete tag for a repo
/$ ./docker_reg_tool https://registry.my.domain delete some-repo some-tag
```
If you want something more fully featured then check out [crane](https://github.com/google/go-containerregistry/blob/main/cmd/crane/doc/crane.md).
## Docker config file location
If your config.json location is not ~/.docker/config.json, you can define the location with the DOCKER_CONFIG environment variable.
DOCKER_CONFIG="/your/path/to/docker/config.json" ./docker_reg_tool ...
## Credentials
...are sniffed out of ~/.docker/config.json. So you need to do `docker login...` before you can use this tool.
They can also be set with the `BASIC_AUTH` environment variable.
BASIC_AUTH=user:pass ./docker_reg_tool ...
Only been tested on Basic auth.
## Insecure Registry
Set the `INSECURE_REGISTRY` to true;
INSECURE_REGISTRY=true ./docker_reg_tool ...
## Registry Settings
In order for this to work, the registry needs to be running with
If docker image:
```
REGISTRY_STORAGE_DELETE_ENABLED="true"
```
Or in the config file:
```
storage:
delete:
enabled: true
```
Also, the size will not decrease until the garbage collector runs.
You can trigger it manually with:
```
docker exec registry /bin/registry garbage-collect -m=true /etc/docker/registry/config.yml
```
## Debugging
Set the `TRACE` environment variable to true to turn on `set -x`
TRACE=true ./docker_reg_tool ...
## Docker Image
See https://hub.docker.com/r/byrnedo/reg-tool/