There are many options available for storing docker images.
Storage in a public repository
For pipelines that are publicly available, dockerhub is the simplest option.
Dockerhub allows unlimited public repositories with a free account, where anyone can pull your images.
An existing image can be copied and renamed using your dockerhub user ID with:
docker tag image_name:0.0.1 userID/image_name:0.0.1
And then pushed to you dockerhub repository with:
docker push userID/image_name:0.0.1
Storage in a private repository
To store your docker images privately, we recommend amazon's elastic container registry (ECR).
With ECR, you have two options:
Option 1:
Store the image under your own aws account and setup the proper IAM policy to allow Basepair to pull images from your repository
Option 2:
Store the image in Basepair's ECR:
We will setup the proper IAM policy allowing you to push images to a private repository in our ECR.
- to do this, first contact a Basepair team member in order to share the necessary aws credentials
- once Basepair has created the repository, we will share the information needed for you to push images
*in the example code below, you will need to change values in brackets [] for your use:
Step 1: build the image using a tag that contains the repositoryUri we shared with you, the image name you want to use, and version ("v0.0.1")
cd /path/to/your/project # this is where the Dockerfile is present docker build -f Dockerfile -t [repositoryUri]:[image_name]-[v0.0.1] .
check to make sure the image was created by listing existing images on your machine:
docker image ls
Step 2: get a temporary docker credential from ECR for use with docker login
aws ecr get-login-password \ --region [region] \ | docker login --username AWS \ --password-stdin [aws_id].dkr.ecr.[region].amazonaws.com
Step 3: push the image to Basepair's ECR using the repositoryUri we shared with you
docker push [repositoryUri]:[image_name]-[v0.0.1]
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article