// Module included in the following assemblies:
// * openshift_images/tagging-images

:_mod-docs-content-type: REFERENCE
[id="images-imagestream-reference-types_{context}"]
= Understanding image stream reference types

[role="_abstract"]
By using image streams in {product-title}, you can reference container images by using different reference types. These reference types define which specific image version your builds and deployments use.

`ImageStreamImage` objects are automatically created in {product-title} when you import or tag an image into the image stream. You never have to explicitly define an `ImageStreamImage` object in any image stream definition that you use to create image streams.

[NOTE]
====
Example image stream definitions often contain definitions of `ImageStreamTag` and references to `DockerImage`, but never contain definitions of `ImageStreamImage`.
====

.Imagestream reference types
[cols="1,2,1",options="header"]
|===
| Reference Type | Description | Syntax Examples 
| `ImageStreamTag` | References or retrieves an image for a given image stream and human-readable tag. | `image_stream_name:tag` 
| `ImageStreamImage` | References or retrieves an image for a given image stream and immutable SHA ID (digest). | `image_stream_name@id` 
| `DockerImage` | References or retrieves an image from an external registry. Uses the standard `docker pull` specification. | `openshift/ruby-20-centos7:2.0`, `registry.redhat.io/rhel7:latest`, `centos/ruby-22-centos7@sha256:3a335d7d...` 
|===
