DockerRegistry logo

Documentation principale

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