added markdown
This commit is contained in:
42
README.md
42
README.md
@@ -2,30 +2,41 @@
|
|||||||
registry.py is a script for easy manipulation of docker-registry from command line (and from scripts)
|
registry.py is a script for easy manipulation of docker-registry from command line (and from scripts)
|
||||||
|
|
||||||
|
|
||||||
# Installation
|
## Installation
|
||||||
|
|
||||||
Download registry.py and set it as executable
|
Download registry.py and set it as executable
|
||||||
|
```
|
||||||
chmod 755 registry.py
|
chmod 755 registry.py
|
||||||
|
```
|
||||||
|
|
||||||
It uses requests python module, so you may need to install it as well:
|
It uses requests python module, so you may need to install it as well:
|
||||||
|
```
|
||||||
pip install requests
|
pip install requests
|
||||||
|
```
|
||||||
|
|
||||||
|
## Listing images
|
||||||
# Listing images
|
|
||||||
|
|
||||||
The below command will list all images and all tags in your registry:
|
The below command will list all images and all tags in your registry:
|
||||||
|
```
|
||||||
registry.py -l user:pass -r https://example.com:5000
|
registry.py -l user:pass -r https://example.com:5000
|
||||||
|
```
|
||||||
|
|
||||||
List all images, tags and layers:
|
List all images, tags and layers:
|
||||||
|
```
|
||||||
registry.py -l user:pass -r https://example.com:5000 --layers
|
registry.py -l user:pass -r https://example.com:5000 --layers
|
||||||
|
```
|
||||||
|
|
||||||
List particular image(s) or image:tag (all tags of ubuntu and alpine in this example)
|
List particular image(s) or image:tag (all tags of ubuntu and alpine in this example)
|
||||||
|
```
|
||||||
registry.py -l user:pass -r https://example.com:5000 -i ubuntu alpine
|
registry.py -l user:pass -r https://example.com:5000 -i ubuntu alpine
|
||||||
|
```
|
||||||
|
|
||||||
Same as above but with layers
|
Same as above but with layers
|
||||||
|
```
|
||||||
registry.py -l user:pass -r https://example.com:5000 -i ubuntu alpine --layers
|
registry.py -l user:pass -r https://example.com:5000 -i ubuntu alpine --layers
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deleting images
|
||||||
# Deleting images
|
|
||||||
|
|
||||||
Keep only last 10 versions (useful for CI):
|
Keep only last 10 versions (useful for CI):
|
||||||
Delete all tags of all images but keep last 10 tags (you can put it to your build script
|
Delete all tags of all images but keep last 10 tags (you can put it to your build script
|
||||||
@@ -44,30 +55,37 @@ Delete all tags for all images (do you really want to do it?):
|
|||||||
registry.py -l user:pass -r https://example.com:5000 --delete-all
|
registry.py -l user:pass -r https://example.com:5000 --delete-all
|
||||||
|
|
||||||
|
|
||||||
# Important notes:
|
## Important notes:
|
||||||
|
|
||||||
|
### garbage-collection in docker-registry
|
||||||
1. docker registry API does not actually delete tags or images, it marks them for later
|
1. docker registry API does not actually delete tags or images, it marks them for later
|
||||||
garbage collection. So, make sure you run something like below
|
garbage collection. So, make sure you run something like below
|
||||||
(or put them in your crontab):
|
(or put them in your crontab):
|
||||||
|
```
|
||||||
docker-compose -f [path_to_your_docker_compose_file] run \
|
docker-compose -f [path_to_your_docker_compose_file] run \
|
||||||
registry bin/registry garbage-collect \
|
registry bin/registry garbage-collect \
|
||||||
/etc/docker/registry/config.yml
|
/etc/docker/registry/config.yml
|
||||||
|
```
|
||||||
or (if you are not using docker-compose):
|
or (if you are not using docker-compose):
|
||||||
|
```
|
||||||
docker run registry:2 bin/registry garbage-collect \
|
docker run registry:2 bin/registry garbage-collect \
|
||||||
/etc/docker/registry/config.yml
|
/etc/docker/registry/config.yml
|
||||||
|
```
|
||||||
for more detail on garbage collection read here:
|
for more detail on garbage collection read here:
|
||||||
https://docs.docker.com/registry/garbage-collection/
|
https://docs.docker.com/registry/garbage-collection/
|
||||||
|
|
||||||
2. Docker registry does not enable image deletion by default. Make sure to enable it by
|
### enable image deletion in docker-registry
|
||||||
either creating environment variable
|
Make sure to enable it by either creating environment variable
|
||||||
REGISTRY_STORAGE_DELETE_ENABLED: "true"
|
`REGISTRY_STORAGE_DELETE_ENABLED: "true"`
|
||||||
or adding relevant configuration option to the docker-registry's config.yml.
|
or adding relevant configuration option to the docker-registry's config.yml.
|
||||||
For more on docker-registry configuration, read here:
|
For more on docker-registry configuration, read here:
|
||||||
https://docs.docker.com/registry/configuration/
|
https://docs.docker.com/registry/configuration/
|
||||||
|
|
||||||
|
You may get `Functionality not supported` error when this option is not enabled.
|
||||||
|
|
||||||
|
|
||||||
|
# Contact
|
||||||
|
|
||||||
Please feel free to contact me at anoxis@gmail.com if you wish to add more functionality
|
Please feel free to contact me at anoxis@gmail.com if you wish to add more functionality
|
||||||
or want to contribute.
|
or want to contribute.
|
||||||
|
|
||||||
Reference in New Issue
Block a user