연습 - Azure Container Registry에 NVIDIA DeepStream Graph Composer 컨테이너 게시

완료됨

DeepStream Graph Composer 애플리케이션을 컨테이너에 패키지했으므로 이제 지원되는 다른 디바이스에 안전하게 배포할 수 있도록 이 아티팩트를 Azure Container Registry 인스턴스에 게시할 준비가 되었습니다.

또한 이 준비는 Azure IoT Edge를 사용한 잠재적인 배포를 위한 단계를 준비합니다. 이 단계는 다음 모듈에서 자세히 설명합니다.

  1. 시작하려면 이러한 지침에 따라 “컨테이너 레지스트리 만들기”를 수행합니다. 이 문서에서는 Microsoft Azure에 필요한 Container Registry 리소스를 인스턴스화하는 방법과 이 서비스에 로그인하고 이미지를 푸시하는 방법을 보여 줍니다. 이 섹션의 단계를 완료하면 DeepStream Graph Composer 컨테이너 아티팩트가 이 레지스트리에 게시됩니다.

    빠른 시작: Azure Portal을 사용하여 Azure Container Registry에서 새 레지스트리 만들기의 단계를 수행합니다. 컨테이너 레지스트리를 만드는 단계만 수행하면 됩니다. 설명서에 언급된 추가 단계는 선택 사항입니다. 이 작업을 완료한 후 다음 단계를 계속 진행합니다.

  2. Azure Portal에서 새로 배포된 Container Registry 인스턴스로 이동합니다.

    Azure Container Registry 개요를 보여주는 스크린샷

    컨테이너 레지스트리에는 서비스에 원격으로 액세스하기 위한 URL을 참조하는 로그인 서버 속성이 있습니다. 이 속성은 azurecr.io에서 종료됩니다. 이 값은 곧 사용하므로 기록해 둡니다.

  3. 다음으로, 설정 아래 왼쪽에 있는 액세스 키 섹션을 선택하고 관리자 사용자에 대한 옵션을 사용하도록 설정합니다. 이 작업을 통해 컨테이너 레지스트리에 대해 인증하여 호스트 머신에서 실행되는 Docker 인스턴스의 액세스를 허용할 수 있습니다. 다음 단계에서 사용되므로 로그인 서버, 사용자 이름암호 값을 기록해 둡니다.

    Container Registry 액세스 키를 보여주는 스크린샷

  4. 이제 컨테이너 레지스트리에 대해 인증하고 호스트의 Docker 인스턴스에 대한 액세스 권한을 부여할 준비가 되었습니다. 이 단계를 수행하려면 호스트 머신의 터미널 세션에서 다음 명령을 실행합니다.

    sudo docker login <Login server>
    
    1. 사용자 이름을 묻는 메시지가 표시되면 Azure Portal에서 컨테이너 레지스트리의 액세스 키 섹션에 제공된 값을 입력합니다.

    2. 암호를 묻는 메시지가 표시되면 Azure Portal에서 컨테이너 레지스트리의 액세스 키 섹션에 제공된 값을 입력합니다.

    3. 성공적으로 입력하면 “로그인 성공”을 나타내는 메시지가 표시됩니다.

  5. 최근에 만든 Docker 이미지를 컨테이너 레지스트리에 푸시하려면 먼저 이미지에 태그를 지정하여 컨테이너 레지스트리를 참조해야 합니다. 호스트 머신의 터미널에서 다음 명령을 실행합니다.

    sudo docker tag deepstream_test1_dgpu <Login Server>/deepstream_test1_dgpu:v1
    
  6. 다음 명령을 실행하여 DeepStream Graph Composer 컨테이너 이미지를 이 리포지토리에 푸시합니다.

    sudo docker push <Login Server>/deepstream_test1_dgpu:v1
    
  7. 푸시가 완료되기를 기다립니다. 그런 다음, Azure Portal에서 컨테이너 레지스트리로 돌아가서 이미지가 업로드되었는지 확인합니다. 확인하려면 개요 페이지 왼쪽에 있는 서비스 섹션에서 리포지토리를 선택합니다. 다음과 같이 리포지토리 목록에서 방금 푸시한 deepstream_test1_dgpu:v1 이미지를 볼 수 있습니다.

    Azure Container Registry 리포지토리 목록을 보여주는 스크린샷

  8. 마지막으로 컨테이너 레지스트리에 포함된 이미지를 사용하여 이 이미지를 실행하려면 호환되는 호스트의 터미널에서 다음 명령을 실행합니다.

    sudo docker run -it --rm --gpus all -v /tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=:0 
    <Login server>/deepstream_test1_dgpu:v1
    

    참고

    작업한 현재 호스트가 아닌 머신에서 이 워크로드를 실행하려는 경우 컨테이너 레지스트리에 액세스하기 위해 sudo xhost +를 사용하여 X11에 대한 액세스를 사용하도록 설정하고 Docker 인스턴스를 인증해야 합니다.

축하합니다! 워크로드를 호환 가능한 다양한 호스트에 배포할 수 있도록 첫 번째 DeepStream Graph Composer 애플리케이션을 보안 컨테이너 레지스트리에 성공적으로 빌드하고 게시했습니다.

사용 방법

식당에 입장하는 사람의 수를 계산하는 IVA 애플리케이션을 개발해야 한다고 가정해 보겠습니다. 개발 팀은 프로덕션 환경에 배포하기 전에 IVA 솔루션의 정확도를 확인하는 테스트 팀과 긴밀하게 협력합니다. 테스트 하드웨어를 수동으로 재구성할 필요가 없는 방식으로 IVA 애플리케이션의 새 빌드를 테스트 팀에 배포하려면 어떻게 해야 하나요?