Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Introduce the sync command #524
The skopeo sync command can sync images between a SOURCE and a destination.
The purpose of this command is to assist with the mirroring of container images from different docker registries to a single docker registry.
Right now the following transport matrix is implemented:
The image namespace is changed during the
The image namespace is not changed when doing a
The alteration of the image namespace is used to nicely scope images coming from different registries (the Docker Hub, quay.io, gcr, other registries). That allows all of them to be hosted on the same registry without incurring in clashes and making their origin explicit.
I hope you like this feature and the direction it's going. Once we agree on its final design we will update this PR to extend the current test suites.
Currently sync will keep adding missing content from
If wanted, that should be addressed with a separate PR.
referenced this pull request
Oct 3, 2018
I would prefer to not have the original registry name as namespace in the destination registry. The source registry might be a internal registry where the name changes over time or where we want to hide the actual name on the customer side.
Maybe that is something which could be configurable?
We could add a
That would copy all the
We should also cover this option inside of the source yaml file. Let's take this
docker.io: images: busybox:  wip-registry: dest-prefix: acme-inc images: coreos/etcd: - latest
Let's assume we run this command:
By this point, inside of the
Would that work with you?
How should we proceed if everybody agrees with this design? Should we get this PR merged and then implement this new flag via a new PR (to limit the amount of code to be reviewed)?