The Docker Hub provides a central location to store all the Docker images. The images can be stored as public as well as private. In many cases, organizations deploy their own private registries on premises due to security-related concerns.
Perform the following steps to set up and run a local registry:
5000
:docker run -d -p 5000:5000 --restart=always --name registry registry:2
search:1.0
to the registry, as follows:docker tag search:1.0 localhost:5000/search:1.0
docker push localhost:5000/search:1.0
docker pull localhost:5000/search:1.0
In the previous chapter, we played with a local Docker registry. This section will show how to set up and use the Docker Hub to publish the Docker containers. This is a convenient mechanism to globally access Docker images. Later in this chapter, Docker images will be published to the Docker Hub from the local machine and downloaded from the EC2 instances.
In order to do this, create a public Docker Hub account and a repository. For Mac, follow the steps as per the following URL: https://docs.docker.com/mac/step_five/.
In this example, the Docker Hub account is created using the brownfield
username.
The registry, in this case, acts as the microservices repository in which all the dockerized microservices will be stored and accessed. This is one of the capabilities explained in the microservices capability model.
In order to push dockerized services to the Docker Hub, follow these steps. The first command tags the Docker image, and the second one pushes the Docker image to the Docker Hub repository:
docker tag search:1.0brownfield/search:1.0 docker push brownfield/search:1.0
To verify whether the container images are published, go to the Docker Hub repository at https://hub.docker.com/u/brownfield
.
Repeat this step for all the other BrownField microservices as well. At the end of this step, all the services will be published to the Docker Hub.