Rider를 사용하여 Docker에서 Azurite를 실행하고 Azure Storage 데이터를 솔루션 로컬로 유지

3219 단어 dotnetazure
이 블로그 게시물에서는 Docker에서 오픈 소스 Azure Storage API 호환 서버(에뮬레이터)인 Azurite 을 사용하는 방법과 이를 JetBrains Rider 에서 실행하는 방법을 살펴보겠습니다. Docker에서 Azurite를 사용하여 Azure Storage 데이터를 솔루션에 로컬로 유지하고, 예를 들어 다양한 Azure Functions 프로젝트에 대해 서로 다른 Blob 및 큐를 가질 수 있습니다.

Azure Storage 에뮬레이터를 통해 Azurite를 사용하는 이유는 무엇인가요?



2008년에 Azure를 사용하기 시작한 이후로 Azure Storage Emulator을 사용하여 로컬 스토리지 에뮬레이터를 개발했습니다. Azure Blob 및/또는 큐를 사용하는 애플리케이션을 테스트하기 위한 로컬 환경을 제공합니다.

저는 Azure Storage 에뮬레이터를 폐기하고 후속 제품인 Azurite을 사용할 때가 되었다고 느꼈습니다. 여기에는 여러 가지 이유가 있습니다.
  • Azurite는 최신 스토리지 API를 지원합니다.
  • Docker 컨테이너로 실행할 수 있습니다.
  • 작업 중인 솔루션과 관련하여 볼륨 경로를 설정하면 Blob 및 대기열을 유지할 수 있습니다. 다른 솔루션? 다른 길! Azurite의 해당 솔루션과 관련된 Blob 및 큐입니다.

  • 남동석 설정



    다음 명령을 실행하여 Docker를 사용하여 Azurite를 실행할 수 있습니다.

    docker run -p 10000:10000 -p 10001:10001 mcr.microsoft.com/azure-storage/azurite
    
    


    이렇게 하면 mcr.microsoft.com/azure-storage/azurite 이미지를 가져와 실행하여 포트 10000(blob) 및 10001(queue)를 노출합니다.

    Docker 컨테이너 내에서 Azurite는 /data 폴더를 사용하여 Blob 및 큐 메시지를 저장합니다. 즉, 호스트 컴퓨터의 폴더에 매핑/data할 수 있습니다. 다른 프로젝트와 솔루션을 작업할 때 이것은 훌륭합니다! 모든 솔루션에 대해 서로 다른 경로를 매핑하고 해당 솔루션과 관련된 Blob 및 대기열을 Azurite에 보존할 수 있습니다.

    Rider에서 Azurite 실행 구성 설정



    Rider에서 Docker 이미지 유형의 새 실행 구성( Run | Edit Configurations )을 만들고 이미지 ID를 mcr.microsoft.com/azure-storage/azurite 로 입력할 수 있습니다. 선택적으로 컨테이너 이름을 지정할 수 있습니다(여기서는 azurite를 선택했습니다).

    또한 포트 바인딩(port 1000010001 )을 지정해야 합니다.

    솔루션을 사용하여 Azurite 데이터를 로컬로 보존하려고 하므로 바인드 마운트도 만들 수 있습니다. 아래 스크린샷에서 컨테이너에서 D:\Projects\Git\NuGetTypeSearch\.idea\azurite/data에 매핑한 것을 볼 수 있습니다.



    참고: Blob/대기열 메시지가 Git에 커밋되지 않도록 하기 위해 D:\Projects\Git\NuGetTypeSearch\.idea\azurite 경로가 .gitignore에 추가되었습니다.

    이 실행 구성이 생성되면 선택하여 실행할 수 있습니다. 도구 모음에서 이 작업을 수행할 수 있지만 저는 개인적으로 Ctrl+Alt+Shift+R 키보드 단축키를 사용하는 것을 선호합니다. 실행 구성을 즉시 선택하여 실행(Enter)하거나 디버그(Shift, Enter)할 수 있습니다.



    일단 실행되면 서비스 도구 창에서 Azurite 컨테이너의 출력을 볼 수 있지만 일반적으로 필요하지 않습니다.

    다음에 Azure Functions 호스트 실행을 시작하시겠습니까? 이를 위해 각각의 실행 구성을 사용할 수 있습니다. 그리고 다른 솔루션으로 전환하면 현재 컨테이너를 중지하고 자체 데이터를 사용하여 다른 솔루션에서 새로 시작할 수 있습니다.

    좋은 웹페이지 즐겨찾기