Container Registries
How to set up the storage for Docker images
The container registry is an essential part in most remote MLOps stacks. It is used to store container images that are built to run machine learning pipelines in remote environments. Containerization of the pipeline code creates a portable environment which allows code to run in an isolated manner.

When to use it

The container registry is needed whenever other components of your stack need to push or pull container images. Currently, this is the case for most of ZenML's remote orchestrators, step operators and some model deployers. These containerize your pipeline code and therefore require a container registry to store the resulting Docker images. Take a look at the documentation page of the component you want to use in your stack to see if it requires a container registry or even a specific container registry flavor.

Container Registry Flavors

ZenML comes with a few container registry flavors that you can use:
  • Default flavor: Allows any URI without validation. Use this if you want to use a local container registry or when using a remote container registry that is not covered by other flavors.
  • Specific flavors: Validates your container registry URI and performs additional checks to ensure you're able to push to the registry.
We highly suggest using the specific container registry flavors in favor of the default one to make use of the additional URI validations.
Container Registry
Flavor
Integration
URI example
default
built-in
-
dockerhub
built-in
docker.io/zenml
gcp
built-in
gcr.io/zenml
azure
built-in
zenml.azurecr.io
github
built-in
ghcr.io/zenml
aws
aws
123456789.dkr.ecr.us-east-1.amazonaws.com
If you would like to see the available flavors of container registries, you can use the command:
zenml container-registry flavor list