To be able to ship our custom image to other environments, we need to first give it a globally unique name. This action is often called tagging an image. We then need to publish the image to a central location from which other interested or entitled parties can pull it. These central locations are called image registries.
Each image has a so-called tag. A tag is often used to version images, but it has a broader reach than just being a version number. If we do not explicitly specify a tag when working with images, then Docker automatically assumes we're referring to the latest tag. This is relevant when pulling an image from Docker Hub, for example:
$ docker image pull alpine
The preceding command will pull the alpine:latest
image from the Hub. If we want to explicitly specify a tag, we do so like this:
$ docker image pull alpine:3.5
This will now pull the alpine
image that has been tagged with 3.5
.