DockerRegistry 
Exemple :
Installation d'une image registry à la version v0.1, exposée sur le port 8004 et enregistrée sur le dépôt depotImage.com.
Installation basique
Étape 1 : Sur le serveur
1 - Lancer un conteneur docker registry sur le port souhaité
docker run -d -p <port>:5000 registry
Exemple - exposition sur le port 8004 :
docker run -d -p 8004:5000 registry
2 - Ouvrir le port sur le pare-feu
sudo firewall-cmd --zone=public --add-port=<port>/tcp
Exemple :
sudo firewall-cmd --zone=public --add-port=8004/tcp
3 - Redémarrer le pare-feu
sudo systemctl restart firewalld
Étape 2 : Sur le client
1 - Créer l'image à pousser sur le hub
2 - Créer et éditer le fichier du daemon selon le format suivant
sudo echo "{ "insecure-registries":["<dépôt>:<port>"] }" >> /etc/docker/daemon.json
Exemple :
sudo echo "{ "insecure-registries":["depotImage.com:8004"] }" >> /etc/docker/daemon.json
3 - Redémarrer docker pour appliquer la configuration
sudo systemctl restart docker
4 - Taguer l'image à pousser Dépôts et Tags Docker
docker image tag <image> <dépôt>:<port>/<image>:<tag>
Exemple :
docker image tag registry depotImage.com:8004/registry:v0.1
5 - Enfin, pousser l'image sur le docker registry
docker push <dépôt>:<port>/<image>:<tag>
Exemple :
docker push depotImage.com:8004/registry:v0.1
6 - Pour récupérer une image déjà poussée sur le dépôt
docker pull <dépôt>:<port>/<image>:<tag>
Exemple :
docker pull depotImage.com:8004/registry:v0.1
Installation avec Træfik
Pour une gestion simplifiée des ports de la machine, et pour plus de sécurité, Docker Registry peut être installé avec Træfik, via Docker Compose.
Pour cela, créer un dossier dockerRegistry et un fichier docker-compose.yml sous cette forme :
version: '3' services: registry: image: 'registry:2' restart: 'always' # NOTE : Harbor utilise un conteneur appelé 'registry' # donc penser à cela pour éviter les conflits # si Harbor doit aussi être installé container_name: '<name>' ports: - '<port>:5000' environment: REGISTRY_HTTP_TLS_CERTIFICATE: '/ssl/live/<depot>/fullchain.pem' REGISTRY_HTTP_TLS_KEY: '/ssl/live/<depot>/privkey.pem' volumes: - '<chemin>/dataCertbot/conf/:/ssl'
Pour la création de certificats, voir la documentation associée.
Le fichier docker-compose.yml utilisé dans le cas de l'exemple se trouve ici.
Pour démarrer Docker Registry, se placer dans le dossier contenant le fichier docker-compose.yml :
docker-compose up -d