added markdown

This commit is contained in:
Andrey Pohilko
2016-10-15 11:19:51 +06:00
parent 6635100732
commit b316e17b43

View File

@@ -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.