Esercizio: Pubblicare un contenitore del Graph Composer NVIDIA DeepStream in Registro Azure Container
Dopo aver creato un pacchetto dell'applicazione Graph Composer DeepStream in un contenitore, è possibile pubblicare questo artefatto in un'istanza di Registro Azure Container per la distribuzione sicura ad altri dispositivi supportati.
Questa preparazione pone anche le basi per una potenziale distribuzione usando Azure IoT Edge, che verrà illustrata in modo più dettagliato nel modulo successivo.
Per iniziare, seguire queste istruzioni per "creare un registro contenitori". Il documento illustra come creare un'istanza delle risorse del Registro Container necessarie in Microsoft Azure e come eseguire l'accesso e il push delle immagini in questo servizio. Dopo aver completato i passaggi di questa sezione, verrà pubblicato l'artefatto del contenitore del Graph Composer DeepStream in questo registro.
Seguire la procedura descritta in Avvio rapido: Creare un Registro Azure Container usando il portale di Azure. È sufficiente seguire la procedura per creare un registro contenitori. I passaggi aggiuntivi indicati nella documentazione sono facoltativi. Dopo aver completato questa attività, continuare con i passaggi successivi.
Passare all'istanza appena distribuita del Registro Container nel portale di Azure:
Si noti che il registro contenitori ha una proprietà del Server di accesso che fa riferimento all'URL per l'accesso al servizio in remoto. Questa proprietà termina in azurecr.io. Prendere nota di questo valore perché verrà usato a breve.
Selezionare quindi la sezione Chiavi di accesso sul lato sinistro in Impostazioni e abilitare l'opzione per Utente amministratore. Questa operazione consente di eseguire l'autenticazione nel registro contenitori per consentire l'accesso dall'istanza di Docker in esecuzione nel computer host. Prendere di nuovo nota dei valori per Server di accesso, Nome utente e Password perché verranno usati nel passaggio successivo.
A questo punto è possibile eseguire l'autenticazione nel registro contenitori e concedere l'accesso all'istanza di Docker dell'host. A tale scopo, eseguire i comandi seguenti in una sessione del terminale nel computer host:
sudo docker login <Login server>
Quando viene richiesto il nome utente, immettere il valore fornito nella sezione Chiavi di accesso del registro contenitori nel portale di Azure.
Quando viene richiesta la password, immettere il valore fornito nella sezione Chiavi di accesso del registro contenitori nel portale di Azure.
Verrà visualizzato un messaggio che indica "Accesso riuscito" dopo l'inserimento riuscito.
Prima di poter eseguire il push dell'immagine Docker creata di recente nel registro contenitori, è necessario contrassegnare l'immagine per fare riferimento al registro contenitori. Eseguire il comando seguente in un terminale nel computer host:
sudo docker tag deepstream_test1_dgpu <Login Server>/deepstream_test1_dgpu:v1
Eseguire il push dell'immagine del contenitore del Graph Composer DeepStream in questo repository eseguendo questo comando:
sudo docker push <Login Server>/deepstream_test1_dgpu:v1
Attendere il completamento del push. Tornare quindi al registro contenitori nel portale di Azure e verificare che l'immagine sia stata caricata. Per verificare, selezionare Repository nella sezione Servizi a sinistra della pagina di panoramica. Nell'elenco dei repository verrà visualizzata l'immagine
deepstream_test1_dgpu:v1
di cui è stato appena eseguito il push, come illustrato di seguito:Infine, se si vuole eseguire questa immagine usando l'immagine contenuta nel registro contenitori, eseguire i comandi seguenti in un terminale di un host compatibile:
sudo docker run -it --rm --gpus all -v /tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=:0 <Login server>/deepstream_test1_dgpu:v1
Nota
Se si intende eseguire questo carico di lavoro in un computer che non sia l'host corrente con cui si sta lavorando, è necessario abilitare l'accesso a X11 con
sudo xhost +
e autenticare l'istanza di Docker per l'accesso al registro contenitori.
Complimenti. È stata creata e pubblicata correttamente la prima applicazione Graph Composer DeepStream in un registro contenitori sicuro per abilitare la distribuzione del carico di lavoro a diversi host compatibili.
Prova
Si supponga di essere stati incaricati di sviluppare un'applicazione IVA per contare il numero di persone che entrano in un ristorante. Il team di sviluppo collabora con un team di test che convalida l'accuratezza della soluzione IVA prima di distribuirla in produzione. Come è possibile distribuire le nuove build dell'applicazione IVA al team di test in modo che non sia necessaria la riconfigurazione manuale dell'hardware di test?