Chapter 4. Red Hat OpenShift components and architecture 69
4.4  OpenShift registry
OpenShift Container Platform can use any server that implements the container image 
registry API as a source of images, including the Docker Hub, private registries that are run by 
third parties, and the integrated OpenShift Container Platform registry.
4.4.1  Integrated OpenShift Container Registry
OpenShift Container Platform provides an integrated container image registry called 
OpenShift Container Registry (OCR). This registry that adds the ability to automatically 
provision new image repositories on demand. This feature provides users with a built-in 
location for their application builds to push the resulting images.
Whenever a new image is pushed to OCR, the registry notifies OpenShift Container Platform 
about the new image, passing along all the information about it, such as the namespace, 
name, and image metadata. Different components of OpenShift Container Platform react to 
new images, creating builds and deployments.
OCR can also be deployed as a stand-alone component that acts solely as a container image 
registry, without the build and deployment integration. 
4.4.2  Third-party registries
OpenShift Container Platform can create containers by using images from third-party 
registries. However, these registries do not offer the same image notification support as the 
integrated OpenShift Container Platform registry. In this situation, OpenShift Container 
Platform fetches tags from the remote registry upon imagestream creation. Refreshing the 
fetched tags is as simple as running the oc import-image <stream> command. When new 
images are detected, the build that was described in 4.4.1, “Integrated OpenShift Container 
Registry” and deployment reactions occur.
4.5  Managing OpenShift resources
All OpenShift resources, images, containers, pods, services, builders, templates, and so on, 
are stored on etcd and can be managed by the OpenShift CLI, web console, or REST API. 
These resources also are defined in text files in JSON or YAML format and can be changed 
by editing those files and shared on an SCM system, such as GIT. 
OpenShift can even retrieve these resource definitions directly from an external SCM.