Record'IT Blog


Recording the IT best technologies


EMC ViPR 2.1 & Docker Registry

In a previous recording, I’ve explained how to implement the ViPR controller in two different sites, to federate both instances and finally to configure the ViPR Object Service.

In this recording I will explain how to use ViPR as a backend for distributed private Docker registries.

First, I need to create an Amazon S3 Bucket.

Then, I create a config file for the Docker registry container I’ll start in Paris. I indicate the hostname of the ViPR Data Services node located in Paris.

After that, I create a similar config file for the Docker registry container I’ll start in Boston. This time, I indicate the hostname of the ViPR Data Services node located in Boston.

I can now start both containers and use the docker logs command to check that the Docker registry has been initialised correctly in both sites.

I create a new container based on Ubuntu and I create an image based on this container.

I used the IP address of the docker host in Paris and the port 5000 in the tag name, so when I run the docker push command, the image is pushed to the private Docker registry in Paris and stored on ViPR using the ViPR Data Services node located in Paris.

I can now pull the image from the docker host in Boston and this time I use the IP address of the docker host in Boston and the port 5000 in the tag name.

The image is pulled from the private Docker registry in Boston and retrieved from ViPR using the ViPR Data Services node located in Boston.

This demonstrates the ability to use the active/active capability of ViPR to share efficiently Docker images across several data centers.

I can now run a container based on this image and modify it to create a new image.

And, I can push this new image from Boston and pull it in Paris !

Finally, I’m using the S3Browser tool to see the format used by the docker registry to store the image layers.