Mirror and synchronize OCI Docker images to ECR repositories
Project description
Docker ECR Sync
Mirror public docker images to ECR, automagically. This requires Skopeo to be installed.
pip install ecr-mirror
Usage
$ ecr-sync
Usage: ecr-sync [OPTIONS] COMMAND [ARGS]...
Options:
--registry-id, --reg TEXT The registry ID. This is usually your AWS
account ID. [required]
--role-name TEXT Assume a specific role to push to AWS
--override-os TEXT Specify the OS of images, default to "linux"
--override-arch [amd64|arm64|windows-amd64|all]
Specify the ARCH of images, default to
"amd64". If set to "all" - all architectures
will be synced
--profile-name TEXT The name of the AWS profile to use
--verbose Enable verbose output
--dry-run Enable dry run
--debug Enable debug output
--public Use ECR Public instead of ECR
--docker-username TEXT The username to use for docker login
--docker-password TEXT The password to use for docker login
--threads INTEGER The number of threads to use for copying
images
--help Show this message and exit.
Create an ECR repository with the following two tags set:
upstream-image
set to a public Docker hub image, i.enginx
oristio/proxyv2
upstream-tags
set to a/
-separated list of tag globs, i.e1.6.*
or just1.2-alpine
. ECR does not allow the use of the*
character in tag values, so you should use+
as a replacement.
Optional:
ignore-tags
set to a/
-separated list of tag globs to ignore. ECR does not allow the use of the*
character in tag values, so you should use+
as a replacement.
Terraform example:
resource "aws_ecr_repository" "repo" {
name = "nginx"
tags = {
upstream-image = "nginx",
// Mirror 1.16* and 1.17*
upstream-tags = "1.16+/1.17+"
ignore-tags = "+-gpu"
}
}
Running ecr-sync sync
will begin concurrently fetching matched images tags and pushing them to ECR.
You can run ecr-sync list-repos
to see all repositories that will be mirrored.
You can also manually copy specific image patterns using ecr-mirror copy
:
ecr-mirror copy "istio/proxyv2:1.6.*" ACCOUNT_ID.dkr.ecr.eu-west-1.amazonaws.com/istio-proxyv2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ecr_sync-2.0.0.tar.gz
.
File metadata
- Download URL: ecr_sync-2.0.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8f34b87eb8a407ef99879a23d70b13e578f58928d30a2d9105daa051223c07e |
|
MD5 | fbdc02bfa44ba0f34c434e54ca14bd2e |
|
BLAKE2b-256 | 561936bd9148a72df8bdfc19e98c681cf935219d104252e6cde32c108d706f2e |
File details
Details for the file ecr_sync-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: ecr_sync-2.0.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8248bcfc9f3e4a525528c1cb6adf57883e95590e1caf3a3174fa7bbc85232381 |
|
MD5 | 45fe23a15ee63388be3a98b660a3bdc6 |
|
BLAKE2b-256 | 2b5ae6e328d995c14a704667cdeda4ed1d4bdac2e82f037a33c9f89f3e60f190 |