How to store container images in DockerHub
The DockerHub container registry is a container registry flavor which comes built-in with ZenML and uses DockerHub to store container images.
You should use the DockerHub container registry if:
- one or more components of your stack need to pull or push container images.
- you have a DockerHub account. If you're not using DockerHub, take a look at the other container registry flavors.
When this container registry is used in a ZenML stack, the Docker images that are built will be published in a public repository and everyone will be able to pull your images. If you want to use a private repository instead, you'll have to create a private repository on the website before running the pipeline. The repository name depends on the remote orchestrator or step operator that you're using in your stack.
The DockerHub container registry URI should have one of the two following formats:
To figure our the URI for your registry:
- Use the account name to fill the template
docker.io/<ACCOUNT_NAME>and get your URI.
To use the Azure container registry, we need:
- 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. This will require your DockerHub account name and either your password or preferably a personal access token.
For more information and a full list of configurable attributes of the dockerhub container registry, check out the API Docs.