È possibile eseguire il push delle immagini da Docker a un progetto nel Registro Harbor incorporato. I progetti nel Registro Harbor incorporato corrispondono agli spazi dei nomi vSphere in un Cluster supervisore.

Prerequisiti

Ottenere inoltre l'account utente per cui si dispone delle autorizzazioni di scrittura nello spazio dei nomi che corrisponde al progetto nel Registro Harbor in cui si desidera eseguire il push delle immagini.

Infine, è necessaria un'immagine locale di cui è possibile eseguire il push nel registro. Il comando seguente consente di estrarre l'immagine hello-world da Docker Hub. Per estrarre l'immagine, è necessario disporre di un account.
docker run hello-world
Risultato previsto:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Verificare l'immagine utilizzando il comando docker images.
docker images
REPOSITORY     TAG                 IMAGE ID            CREATED             SIZE
hello-world    latest              bf756fb1ae65        10 months ago       13.3kB

Procedura

  1. Accedere a Registro Harbor con l'helper delle credenziali vSphere Docker.
    docker-credential-vsphere login <container-registry-IP> --user [email protected]
    Nota: Se per accedere è sufficiente fornire --user username è necessario utilizzare la sintassi UserPrincipalName (UPN) ( --user [email protected]) per accedere e utilizzare i comandi docker push.
  2. Contrassegnare l'immagine di cui si desidera eseguire il push nel progetto nel Registro Harbor con lo stesso nome dello spazio dei nomi in cui si desidera utilizzarla:
    docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
    
    Ad esempio:
    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/tkgs-cluster-ns/hello-world     latest              bf756fb1ae65        10 months ago       13.3kB
    hello-world                                   latest              bf756fb1ae65        10 months ago       13.3kB
    
  3. Per eseguire il push di un'immagine in un progetto in Harbor, eseguire il comando seguente:
    Sintassi:
    docker push <container-registry-IP>/<namespace-name>/<image_name>
    Ad esempio:
    docker push 10.179.145.77/tkgs-cluster-ns/hello-world:latest
    
    Risultato previsto.
    The push refers to repository [10.179.145.77/tkgs-cluster-ns/hello-world]
    9c27e219663c: Pushed
    latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
    
  4. Verificare che l'immagine sia ora disponibile nel registro Harbor incorporato.
    • Accedere alla console del Registro Harbor incorporata
    • Fare clic sul collegamento del progetto in Progetti > Nome progetto.
    • Selezionare la scheda Repository.
    • L'immagine di cui è stato eseguito il push nel registro è presente nel formato namespace/image-name, ad esempio tkgs-cluster-ns/hello-world.
    • Selezionare questa immagine per visualizzare il tag latest e altri metadati.
  5. Tornare alla scheda Repositories.
  6. Selezionare il menu a discesa Push Image Docker Command. Vengono forniti i comandi per contrassegnare ed eseguire il push delle immagini in questo repository.

Esempio

Di seguito è riportato un altro esempio di push di immagini nel registro Harbor incorporato:
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest

Operazioni successive

Distribuire Pod vSphere utilizzando immagini del registro Harbor. Vedere Distribuzione di un'applicazione a un Pod vSphere mediante il Registro Harbor incorporato.