Amazon Elastic Container Registry (ECR)
How to store container images in Amazon ECR
The AWS container registry is a container registry flavor provided with the ZenML
awsintegration and uses Amazon ECR to store container images.
You should use the AWS container registry if:
- one or more components of your stack need to pull or push container images.
- you have access to AWS ECR. If you're not using AWS, take a look at the other container registry flavors.
The ECR registry is automatically activated once you create an AWS account. However, you'll need to create a
Repositoryin order to push container images to it:
- Make sure the correct region is selected on the top right.
- Click on
- Create a private repository. The name of the repository depends on the [orchestrator](../orchestrators/orchestrators.md or step operator you're using in your stack.
The AWS container registry URI should have the following format:
To figure our the URI for your registry:
- Go here and choose the region in which you would like to store your container images. Make sure to choose a nearby region for faster access.
- Once you have both these values, fill in the values in this template
<ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.comto get your container registry URI.
To use the AWS container registry, we need:
- The ZenML
awsintegration installed. If you haven't done so, runzenml integration install aws
- The registry URI. Check out the previous section on the URI format and how to get the URI for your registry.
We can then register the container registry and use it in our active stack:
zenml container-registry register <NAME> \
# Add the container registry to the active stack
zenml stack update -c <NAME>
Additionally, we'll need to log in to the container registry so Docker can pull and push images:
# Fill your REGISTRY_URI and REGION in the placeholders in the following command.
# You can find the REGION as part of your REGISTRY_URI: `<ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com`
aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <REGISTRY_URI>
For more information and a full list of configurable attributes of the AWS container registry, check out the API Docs.