Labo 12 - Docker Registry Local - Commit Nous allons voir comment créer un registre local d'images Docker afin de pouvoir les télécharger plus rapidement, créer des images modifiées ou simplement sauvegardé les images existantes Considérons que votre machine hébergeant le registre local est un machine sous Linux et que docker et docker-compose sont installés. Nous installerons une version dite insecure qui n'est pas viable en production Vous pourrez retrouver la documentation complète ici Tout d'abord, il faut éditer ou créer le fichier docker-compose.yml sudo vim /opt/docker/docker-compose.yml version: "3.8" services: registry: container_name: registry restart: always image: registry:latest ports: - 5000:5000 volumes: - /opt/docker/registry/data:/var/lib/registry - /opt/docker/registry/certs:/certs - /opt/docker/registry/auth:/auth Ensuite, il faudra éditer ou créer un fichier sur la machine qui hébergera le registre local ainsi que sur celle qui voudra récupérer l'image sudo vim /etc/docker/daemon.json { "insecure-registries" : ["myregistry.local:5000"] } Ensuite il faudra modifier le fichier hostname et le fichier hosts de notre machine. A noter qu'il faudra bien déclarer la machine hébergeant le registre local dans le fichier hosts des autres machines voulant récupérer les images Pour le fichier hostname sudo nano /etc/hostname myregistry.local Et pour le fichier hosts sudo vim /etc/hosts 127.0.0.1 localhost 192.168.1.226 localhost 127.0.0.1 myregistry.local 192.168.1.226 myregistry.local Ensuite on redémarre les démons et le service docker sudo systemctl daemon-reload sudo systemctl restart docker Maintenant on peut lancer le conteneur sudo docker-compose up -d Le conteneur tourne et est opérationnel docker push bash docker tag sudo firewall-cmd --add-port=5000/tcp --permanent sudo firewall-cmd --reload