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 <numéro de la ligne ds l'historique> # au lieu de -p <token>, 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//
Puis récupérer l'image:
docker pull registry.serveurSource.dev/cnrs/artefacts:<TAG_ID>
en remplaçant <TAG_ID> 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:<TAG_ID>
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:<tag> docker --config ~/.mon-projet2 push gitlab-registry.serveurDestination/monlogin/mon-projet2-registry:<tag>
docker login gitlab-registry.serveurDestination/monlogin/artefacts:latest # puis docker push gitlab-registry.serveurDestination/monlogin/artefacts:latest