The Docker Registry module provides a lightweight, open-source Docker registry for storing and distributing container images in the Kubernetes environment. You can use it in self-contained development clusters or testing environments, so you can test deployments in an isolated system.
Warning
Do not use Docker Registry in production clusters, where a full-fledged, highly-available, production-grade registry is necessary.
The Docker Registry module comes with a dedicated Kubernetes operator for effortless installation and upgrades. It manages the lifecycle of the Docker Registry resources according to the desired specification expressed through a dedicated Dockerregistry
custom resource (CR). Read more about configuration options in the user documentation.
- Create the
kyma-system
namespace:
kubectl create namespace kyma-system
- Apply the following script to install Docker Registry Operator:
kubectl apply -f https://github.com/kyma-project/docker-registry/releases/latest/download/dockerregistry-operator.yaml
- To get Docker Registry installed, apply the sample Docker Registry custom resource (CR):
kubectl apply -f https://github.com/kyma-project/docker-registry/releases/latest/download/default-dockerregistry-cr.yaml
Having installed the Docker Registry module, you can start pushing images to it using Kyma CLI (v3) or, if you decide to expose the registry externally, using Docker CLI. For details, see the following tutorials:
- Access to a Kubernetes (v1.24 or higher) cluster
- Go
- k3d
- Docker
- kubectl
- Kubebuilder
-
Clone the project.
git clone https://github.com/kyma-project/docker-registry.git && cd docker-registry/
-
Build Docker Registry Operator locally and run it in the k3d cluster.
make run
NOTE: To clean up the k3d cluster, use the
make delete-k3d
make target.
-
Create a Docker Registry instance.
kubectl apply -f config/samples/default-dockerregistry-cr.yaml
-
Delete a Docker Registry instance.
kubectl delete -f config/samples/default-dockerregistry-cr.yaml