On this page
Enhance your machine learning workflows by leveraging the seamless integration between Amazon Elastic Container Registry (ECR) and ZenML. Store and manage your container images efficiently while enjoying the benefits of a robust container registry solution within your ZenML pipelines.
Features with ZenML
- Seamless integration with ZenML pipelines
- Efficient storage and retrieval of container images
- Simplified authentication using AWS Service Connector
- Scalable and reliable container registry for ML workflows
- Optimized for use with AWS-based stack components
Main Features
- Secure and private container image storage
- Fine-grained access control and permissions
- High availability and durability
- Integrates with other AWS services
How to use ZenML with Elastic Container Registry
# Step 1: Install the AWS integration
>>> zenml integration install aws
# Step 2: Register the AWS ECR container registry
>>> zenml container-registry register ecr_registry \
--flavor=aws \
--uri="<ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com"
# Step 3: Update your stack to use the new container registry
>>> zenml stack update -c ecr_registry
# Step 4: Set up authentication (choose one method)
# Method 1: Local Authentication
>>> aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com
# Method 2: AWS Service Connector (recommended)
>>> zenml container-registry connect ecr_registry -i
# Step 5: Validate that your stack has a remote orchestrator in it
# Not all orchestrators require a built image, so in order to use the
# container registry you would need a remote orchestrator/step operator
# used in your stack
>>> zenml stack describefrom zenml import pipeline, step
@step
def example_step():
print("This step will be containerized and pushed to ECR")
@pipeline
def my_pipeline():
example_step()
if __name__ == "__main__":
my_pipeline()