Vous pouvez transférer des images de Docker vers un projet existant sur un registre tel que Docker Hub ou Harbor.

Conditions préalables

Vous avez besoin d'une image locale que vous pouvez transférer vers le registre. La commande suivante extrait l'image hello-world du Hub Dock. Vous aurez besoin d'un compte pour extraire l'image.
docker run hello-world
Résultat attendu :
Hello from Docker!
This message shows that your installation appears to be working correctly.
Vérifiez l'image à l'aide de la commande docker images.
docker images
REPOSITORY     TAG                 IMAGE ID            CREATED             SIZE
hello-world    latest              bf756fb1ae65        10 months ago       13.3kB

Procédure

  1. Connectez-vous à Registre Harbor à l'aide de l'assistance des informations d'identification de vSphere Docker.
    docker-credential-vsphere login <container-registry-IP> --user username@domain.com
    Note : Bien que la fourniture de --user username est acceptable pour la connexion, vous devez utiliser la syntaxe UserPrincipalName (UPN) ( --user username@domain.com) pour vous connecter et utiliser les commandes docker push.
  2. Balisez l'image que vous souhaitez transférer vers le projet dans Registre Harbor avec le même nom que l'espace de noms où vous souhaitez l'utiliser :
    docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
    
    Par exemple :
    docker tag hello-world:latest 10.179.145.77/tkgs-cluster-ns/hello-world:latest
    
    docker images
    REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
    10.179.145.77/tkg-cluster-ns/hello-world     latest              bf756fb1ae65        10 months ago       13.3kB
    hello-world                                   latest              bf756fb1ae65        10 months ago       13.3kB
    
  3. Pour transférer une image vers un projet dans Harbor, exécutez la commande suivante :
    Syntaxe :
    docker push <container-registry-IP>/<namespace-name>/<image_name>
    Par exemple :
    docker push 10.179.145.77/tkg-cluster-ns/hello-world:latest
    
    Résultat attendu.
    The push refers to repository [10.179.145.77/tkg-cluster-ns/hello-world]
    9c27e219663c: Pushed
    latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
    
  4. Vérifiez que l'image est maintenant disponible dans le registre Harbor intégré.
    • Connectez-vous au registre Harbor.
    • Cliquez sur le lien du projet dans Projets > Nom du projet.
    • Sélectionnez l'onglet Référentiels.
    • Vous devez voir que l'image que vous avez envoyée au registre est présente, sous la forme namespace/image-name, telle que tkg-cluster-ns/hello-world.
    • Sélectionnez cette image et vous voyez la balise latest et d'autres métadonnées.
  5. Revenez à l'onglet Référentiels.
  6. Sélectionnez le menu déroulant Commande de transfert du Docker d'image. Les commandes pour baliser et transférer des images vers ce référentiel sont à votre disposition.

Exemple

Voici un autre exemple de transfert d'image vers le registre Harbor :
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest