Outils pour utilisateurs

Outils du site


informatique:docker:registrydocker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:docker:registrydocker [2023/11/24 07:11] – [Préparation des dossiers et fichiers requis] benoitinformatique:docker:registrydocker [2023/11/24 12:16] (Version actuelle) – [Se connecter et pousser une image sur la Registry] benoit
Ligne 4: Ligne 4:
  
 ==== Prérequis ==== ==== Prérequis ====
 +
 Installer Docker compose : Installer Docker compose :
-  apt install docker-compose+  apt install apache2-utils
  
 ==== Préparation des dossiers et fichiers requis ==== ==== Préparation des dossiers et fichiers requis ====
Ligne 76: Ligne 77:
 Pour retreindre l'accès à la registry, nous allons créer un compte utilisateur :  Pour retreindre l'accès à la registry, nous allons créer un compte utilisateur : 
   cd /mnt/registry/auth/   cd /mnt/registry/auth/
 +  htpasswd -Bc registry.passwd benoit
  
-==== Création du fichier Docker compose ====+==== Préparation de lancement des conteneur pour la Registry ====
    
 Créer un fichier Docker compose : Créer un fichier Docker compose :
Ligne 128: Ligne 130:
   * **Registry -> image** : La registry sera un conteneur créé à partir de l'image ''registry:2'' du Docker Hub.   * **Registry -> image** : La registry sera un conteneur créé à partir de l'image ''registry:2'' du Docker Hub.
   * **restart: always** : Permet de s'assure de démarrer Docker Registry en tant que service dès que vous démarrez le système.   * **restart: always** : Permet de s'assure de démarrer Docker Registry en tant que service dès que vous démarrez le système.
 +
 +Lancer les conteneurs de registry :
 +  cd /mnt/registry
 +  docker compose up -d
 +
 +Pour vérifier le fonctionnement :
 +  docker ps
 +  docker compose ps
 +
 +==== Configuration du client Docker ====
 +
 +:!: A CORRIGER :!:
 +
 +Il faut autoriser le client à utiliser une registry avec un certificat non valide.
 +
 +Récupérer l'IP du conteneur et l'enregistrement ''registry.local'' au fichier ''/etc/hosts'' : 
 +
 +  REGIP=$(docker inspect -f {{.NetworkSettings.Networks.registry_mynet.IPAddress}} nginx)
 +  echo "${REGIP} registry.local" >> /etc/hosts
 +
 +Editer le fichier suivant :
 +  vim /etc/docker/daemon.json
 +
 +Et ajouter les lignes suivantes :
 +
 +  {
 +    "insecure-registries" : ["registry.local:443"]
 +  }
 +
 +Relancer le service Docker :
 +  systemctl restart docker
 +
 +==== Se connecter et pousser une image sur la Registry ====
 +
 +Pour se connecter à la Registry :
 +  docker login https://127.0.0.1/
 +
 +Séquence et résultat : 
 +  Username: benoit
 +  Password:
 +  WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
 +  Configure a credential helper to remove this warning. See
 +  https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 +  
 +  Login Succeeded
 +
 +Avant de pousser une image, il faut la retagguer avec l'adresse de la registry ''127.0.0.1'' par exemple :
 +  docker image tag httpd:latest 127.0.0.1/myhttpd:v1
 +
 +Ensuite on peut la pousser
 +  docker push 127.0.0.1/myhttpd:v1
 +
 +Vérification : 
 +  curl -u benoit --insecure https://127.0.0.1/v2/_catalog
 +
 +Résultat attendu : 
 +  Enter host password for user 'benoit':
 +  {"repositories":["myhttpd"]}
 +
 +ou
 +  curl -u benoit --insecure https://127.0.0.1/v2/myhttpd/tags/list
 +
 +Pour utiliser une image de notre Registry : 
 +  docker run -d 127.0.0.1/myhttpd:v1
informatique/docker/registrydocker.1700809874.txt.gz · Dernière modification : de benoit