Project for syncing images from one docker registry to another
APACHE-2.0 License
Tool for syncing docker images from one registry to another
Make is possible to sync all tags of a number of docker repositories from one registry to another. Can be useful if you have an interal docker registry but want to sync a subset of the docker images to a globally accessibly registry.
Create a config.yml
file. Example:
source_registry:
url: https://docker.example.com
username: some_user
password: some_password
destination_registry:
url: http://127.0.0.1:5000
repositories:
- company/super-project
- company/cool-project
The meaning of the settings:
source-registry
: The registry to sync fromdestination-registry
: The registry to sync torepositories
: A list of docker repositores, consisting of the repository nameWhen the images are synced, the registry part of the tag is replaced, e.g.
in the example above the tag docker.example.com/company/super-project
is
re-tagged as 127.0.0.1:5000/company/super-project
and pushed to 127.0.0.1:5000
.
You can specify the registry passwords using the SOURCE_REGISTRY_PASSWORD
and DESTINATION_REGISTRY_PASSWORD
environment variables instead of
including them in the config.yml
file.
docker run --rm -it \
-v $(pwd)/config.yml:/config.yml \
stefanhudelmaier/docker-registry-to-registry-sync
When using environment variables for the passwords:
docker run --rm -it \
-e SOURCE_REGISTRY_PASSWORD=secret \
-e DESTINATION_REGISTRY_PASSWORD=secret \
-v $(pwd)/config.yml:/config.yml \
stefanhudelmaier/docker-registry-to-registry-sync