No release in over 3 years
Low commit activity in last 3 years
Sync data between S3 two distinct docker registries using S3 data storage and SNS as a messaging system.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 1.6
~> 10.0
~> 3.3
~> 0.10
~> 1.21

Runtime

~> 2.0
 Project Readme

Build Status Gem Version

Docker Registry Sync

When deploying dockerized applications to multiple geographic regions backed by a private docker registry, it advisable to co-locate docker registries with infrastructure required to access them. Doing this can cause complications with respect to keeping multiple docker registries in sync, which is the job of docker-registry-sync

Given a docker registry backed by S3, a tagged docker image and target buckets backing other docker registry, docker registry sync will replicate images to one or more regions in AWS. Optionally supporting S3 employing server side encryption (SSE).

Currently only tested with the legacy docker-registry.

Usage

docker-registry-sync [options] <command> [<image>:<tag>]

Commands

Command Description
sync Sync docker image from one source registry S3 bucket to one or more S3 buckets.
queue-sync Queue docker image sync job from one source registry S3 bucket to one or more S3 buckets.
run-sync Run queued sysnc jobs

Options

required short flag long flag Description
Yes -s SOURCE --source-bucket SOURCE Primary docker registry S3 bucket. Pass as :
Yes -t TARGETS --target-buckets TARGETS S3 buckets to sync to, comma separated. Pass as :[,:]
for run-sync, queue-sync -q SQS_QUEUE --queue SQS_QUEUE SQS queue url used to enqueue sync job. Pass as : (do not include schema)
No -p PROXY --proxy PROXY HTTP proxy URL
No --sse Copy S3 objects using SSE on the destination using (AES256 only)
No --source-sse Copy S3 objects when the source is using SSE (AES256 only)
No -n POOL --pool POOL Size of worker thread pool, defaults to 5.
No --unset-proxy Use if 'http_proxy' is set in your environment, but you don't want to use it...