Mise en place d'un registry Docker

Lorsque l’on utilise Docker, il y a différentes possibilités pour utiliser nos propres images.

La première solution sans doute la plus simple consiste à mettre le Dockerfile sur les machines qui nous intéresse et à builder cette image localement à l’aide de la commande:

$ docker build -t mon_image .

Cette solution fonctionne, mais est longue. En cas de changement sur l’image, il faut rebuilder toute l’image ce qui peut prendre quelques minutes.

La seconde solution est d’utiliser un registry mis en place par docker. Il permet de stocker ses images de manière centralisée. En cas de modification, on ne rebuild qu’une seule fois l’image. On la pousse ensuite sur le registry et il suffit de tirer la dernière version sur nos machines pour mettre à jour nos images. Cette solution fonctionne bien, mais impose d’exposer publiquement ses images sur le Hub. À cela, on ne sait pas comment sont stockées ni même où sont stockées nos images.

La solution du registry privé permet d’avoir les avantages des deux solutions précédentes. Un registry privé est un entrepôt qui permet d’héberger des images Docker et qui est auto hébergé. Cela permet de savoir exactement où sont nos images et de centraliser celles-ci à un seul endroit.

On utilise les fichiers présents sur le dépôt dockerfiles, et les instructions associées : https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/tree/master/pica-registry

Maintenant que le registry est prêt, on peut builder et lui pousser des images:

$ docker build -t monimage .
$ docker tag monimage registry.picasoft.net/monimage:v1
$ docker push registry.picasoft.net/monimage:v1

Attention:

Sur les client, il faut au préalable se connecter au registre de production. Les identifiants sont sur le pass

$ docker login registry.picasoft.net
Username (pica): pica
Password:
Login Succeeded
 

Picasoft possède son propre registry privé. Celui-ci se trouve sur la machine monitoring.

  • technique/docker/general/mise_en_place_d_un_registry_docker.1602093148.txt.gz
  • de qduchemi