Each container image in Docker has a distinctive name consisting of three elements: the name of the registry, the name of the image, a tag. Container registries are object repositories holding container images. The default container registry for Docker is docker.io. When pulling an image from this registry, we may omit the registry name.
Our previous example with ubuntu:bionic has the full name of docker.io/ubuntu:bionic. In this example, ubuntu is the name of the image, while bionic is a tag that represents a particular version of an image.
When building an application based on containers, you will be interested in storing all the registry images. It is possible to host your private registry and keep your images there or use a managed solution. Popular managed solutions include the following:
- Docker Hub
- quay.io
- GitHub
- Cloud providers (such as AWS, GCP, or Azure)
Docker Hub is still the most popular one, though some public images are migrating to quay...