Exercício - Publicar um contêiner do NVIDIA DeepStream Graph Composer no Registro de Contêiner do Azure

Concluído

Agora que você empacotou seu aplicativo DeepStream Graph Composer em um contêiner, está pronto para publicar esse artefato em uma instância do Registro de Contêiner do Azure para distribuição segura para outros dispositivos com suporte.

Essa preparação também prepara o terreno para uma possível implantação usando o Azure IoT Edge, que abordaremos com mais detalhes no próximo módulo.

  1. Para começar, siga estas instruções para "criar um registro de contêiner". O documento demonstra como instanciar os recursos necessários do Registro de Contêiner no Microsoft Azure e como entrar e enviar imagens por push para esse serviço. Depois de concluir as etapas nesta seção, você publicará seu artefato de contêiner do DeepStream Graph Composer neste registro.

    Siga as etapas em Guia de início rápido: criar um registro de contêiner do Azure usando o portal do Azure. Você só precisa seguir as etapas para criar um registro de contêiner. As etapas extras mencionadas na documentação são opcionais. Depois de concluir esta tarefa, continue com as próximas etapas.

  2. Vá para sua instância recém-implantada do Registro de Contêiner no portal do Azure:

    Captura de tela que mostra a visão geral do Registro de Contêiner do Azure.

    Você notará que seu registro de contêiner tem uma propriedade de servidor de login que se refere à url para acessar seu serviço remotamente. Esta propriedade termina em azurecr.io. Anote esse valor porque você o usará em breve.

  3. Em seguida, selecione a seção Teclas de acesso no lado esquerdo em Configurações e habilite a opção para Usuário administrador. Esta operação concede a você a capacidade de autenticar em seu registro de contêiner para permitir o acesso da instância do Docker em execução em sua máquina host. Novamente, anote os valores para Servidor de login, Nome de usuário e Senha , pois eles são usados na próxima etapa.

    Captura de ecrã que mostra as chaves de Acesso ao Registo de Contentor.

  4. Agora você está pronto para autenticar em seu registro de contêiner e conceder acesso à instância do Docker do host. Para executar esta etapa, execute os seguintes comandos em uma sessão de terminal na máquina host:

    sudo docker login <Login server>
    
    1. Quando lhe for pedido Nome de utilizador, introduza o valor fornecido na secção Chaves de acesso do registo de contentor no portal do Azure.

    2. Quando lhe for solicitada a Palavra-passe, introduza o valor fornecido na secção Chaves de acesso do registo do seu contentor no portal do Azure.

    3. Você verá uma mensagem que indica "Login bem-sucedido" após a entrada bem-sucedida.

  5. Antes de enviar a imagem do Docker criada recentemente para o registro do contêiner, você deve marcar a imagem para fazer referência ao registro do contêiner. Execute o seguinte comando em um terminal na máquina host:

    sudo docker tag deepstream_test1_dgpu <Login Server>/deepstream_test1_dgpu:v1
    
  6. Envie sua imagem de contêiner do DeepStream Graph Composer para este repositório executando este comando:

    sudo docker push <Login Server>/deepstream_test1_dgpu:v1
    
  7. Aguarde até que o push seja concluído. Em seguida, volte para o registro de contêiner no portal do Azure e verifique se a imagem foi carregada. Para verificar, selecione Repositórios na seção Serviços no lado esquerdo da página de visão geral. Você deve ver sua imagem recém-enviada deepstream_test1_dgpu:v1 na lista de repositórios, conforme mostrado aqui:

    Captura de ecrã que mostra a lista de Repositório de Registo de Contentor do Azure.

  8. Finalmente, se você quiser executar e executar esta imagem usando a imagem contida no registro do contêiner, execute os seguintes comandos em um terminal em um host compatível:

    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 você pretende executar essa carga de trabalho em uma máquina que não seja o host atual com o qual você tem trabalhado, precisará habilitar o acesso ao X11 e sudo xhost + autenticar sua instância do Docker para acessar seu registro de contêiner.

Parabéns! Você criou e publicou com sucesso seu primeiro aplicativo DeepStream Graph Composer em um registro de contêiner seguro para permitir a distribuição de sua carga de trabalho para vários hosts compatíveis.

Experimente isto

Imagine que foi incumbido de desenvolver uma aplicação IVA para contar o número de pessoas que entram num restaurante. Sua equipe de desenvolvimento trabalha em estreita colaboração com uma equipe de testes que valida a precisão da solução IVA antes de implantá-la em produção. Como você poderia distribuir novas compilações do aplicativo IVA para a equipe de teste de uma forma que não exija a reconfiguração manual do hardware de teste?