Skip to content
Copy a Docker image between registries without a full Docker installation
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
vendor
.gitignore
.travis.yml
README.md
main.go

README.md

copy-docker-image - Copy docker images without a full docker installation

Build Status

Overview

When doing automated deployments, especially when using AWS ECR in multiple accounts, you might want to copy images from one registry to another without the need for a full docker installation. At LifeOmic we wanted to orchestrate the copying of images while executing inside a container without exposing a full Docker socket just for image manipulation.

To copy an image between two anonymous repositories, you can use a command line like:

$ copy-docker-image --src-repo http://registry1/ --dest-repo http://registry2 --repo project

To specify an image tag, just add a --tag argument like:

$ copy-docker-image --src-repo http://registry1/ --dest-repo http://registry2 --repo project --tag v1

Integration with AWS ECR

Because copy to AWS ECR was common a special URL format was added to automatically look up the right HTTPS URL and authorization token. Assuming a AWS CLI profile has been created for your account you can use a command like:

$ copy-docker-image --src-repo http://registry1/ --dest-repo ecr:<account-id> --repo project

Installation

Pre-built binaries for tagged releases are available on the releases page.

You can’t perform that action at this time.