===== Pour basculer d'un registre à un autre ===== Se connecter au registre source avec l'identifiant et le mot de passe fourni: docker login registry.serveurSource.dev/cnrs/artefacts:latest ou bien enregistrer un nouveau token pour un projet (cf. note en bas de cette page) : docker --config ~/.mon-projet login registry.serveurSource.dev/cnrs/artefacts:latest -u project_id_from_gitlab -p token_RO_psw # supprimer la ligne de l'historique … history -d # au lieu de -p , on peut déposer le mot de passe dans un fichier et le passer en préfixant la commande docker par //cat ~/my_password | docker … --password-stdin// Un token Read_only est généralement généré pour le serveur en prod, ainsi on évite si le serveur est compromis que les images le soient éventuellement aussi ! Le rôle du token RO peut être //guest// mais ce rôle ne voit pas par défaut les registres, sinon il faut utiliser le rôle //developer// Puis récupérer l'image: docker pull registry.serveurSource.dev/cnrs/artefacts: en remplaçant **** par le tag de l'image: //v2//, //latest//…\\ ou si on a défini différents tokens (un par projet) docker --config ~/.mon-projet pull registry.serveurSource.dev/cnrs/mon-registre/mon-projet: Si on fait un docker images # on va avoir par exemple les noms taille tag_id hash registry.serveurSource.dev/cnrs/artefacts 792MB v2 4e7a64a3b4d9 registry.serveurSource.dev/cnrs/artefacts 343MB latest 287eda08ed0e On renomme: docker tag registry.serveurSource.dev/cnrs/artefacts:v2 registry.serveurDestination/monlogin/artefacts:v2 On peut maintenant pousser en exécutant: Dès lors qu'on a plusieurs tokens (cf. note ci-dessous) : docker --config ~/.mon-projet1 push gitlab-registry.serveurDestination/monlogin/mon-projet1-registry: docker --config ~/.mon-projet2 push gitlab-registry.serveurDestination/monlogin/mon-projet2-registry: docker login gitlab-registry.serveurDestination/monlogin/artefacts:latest # puis docker push gitlab-registry.serveurDestination/monlogin/artefacts:latest Lorsqu'on a différent token (RO… //Read Only//) pour les différents projets, on peut les définir sur le serveur de prod en suivant le post https://stackoverflow.com/a/55635346/6614155 \\ j'en ai défini un pour banadora et un pour ceramo