컨테이너 레지스트리 사용
컨테이너 레지스트리는 명명된 컨테이너 이미지를 보유하고 다양한 태그 버전으로 제공하는 스토리지 및 콘텐츠 전송 시스템입니다.
사용자는 다음 소스에서 컨테이너 레지스트리에 연결할 수 있습니다.
- Azure Container Registry
- Docker Hub
- GitHub 컨테이너 레지스트리
- Docker V2 API를 지원하는 모든 일반 개인 레지스트리
컨테이너 레지스트리로 이미지 푸시
컨테이너 이미지를 배포하려면 먼저 이미지를 컨테이너 레지스트리로 업로드해야 합니다. 이미지는 Docker Hub, Azure Container Registry(ACR) 또는 다른 레지스트리로 업로드할 수 있습니다. Docker Hub, Azure Container Registries 또는 다른 레지스트리로 푸시하든 상관없이 동일한 단계를 따라 이미지를 푸시할 수 있습니다. 아직 Azure Container Registry가 없는 경우 푸시 단계 중에 생성할 수 있습니다.
-
컨테이너 탐색기를 열고 레지스트리 보기에서 레지스트리 연결... 아이콘을 선택한 다음 프롬프트를 따릅니다. 공급자(예: Azure 또는 Docker Hub)를 선택하고 자격 증명을 제공하여 레지스트리에 연결합니다. 프롬프트가 표시되면 Azure 리소스 확장을 설치합니다.

-
이제 레지스트리 아래에 해당 레지스트리가 표시됩니다.

-
선택적으로 이미지를 태그합니다. 이미지를 레지스트리로 업로드하려면
docker push가 올바른 레지스트리로 업로드되도록 이미지에 레지스트리 이름이 태그되어야 합니다. 푸시하려고 할 때 이미지에 태그가 지정되지 않은 경우 VS Code에서 이미지와 연결하려는 레지스트리를 묻는 메시지가 표시됩니다.-
이전에 빌드한 이미지는 컨테이너 탐색기의 이미지 보기 아래에 나타납니다. 마우스 오른쪽 버튼을 클릭하고 태그...를 선택합니다.

-
새 이름
<your registry or username>/<image name>:<tag>을 지정하고 태그 작업을 완료합니다. 예를 들어 ACR의 새 이미지 이름은mainacr.azurecr.io/webapp6:latest이고 Docker Hub의 경우myusername/webapp6:latest가 됩니다.
-
-
이미지는 이미지 태그가 가리키는 레지스트리 아래의 컨테이너 탐색기 이미지 보기에 표시됩니다. 이 이미지를 선택하고 푸시를 선택합니다. 이미지가 아직 태그되지 않은 경우 푸시할 레지스트리를 선택하거나 새 레지스트리를 만들라는 메시지가 표시되며, 선택에 따라 이미지가 태그됩니다.

-
푸시 명령이 완료되면 이미지가 푸시된 레지스트리 노드를 새로 고치면 업로드된 이미지가 표시됩니다.

Docker Hub
이것은 Docker Hub에 연결하고 지정된 계정의 모든 리포지토리와 이미지를 나열합니다. 이 옵션을 선택하면 Docker Hub 자격 증명을 입력해야 합니다.

Docker Hub 레지스트리의 각 리포지토리에 대해 수행할 수 있는 작업은 다음과 같습니다.
- 리포지토리 푸시: 지정된 리포지토리의 모든 이미지를 로컬로 복사합니다.
- 브라우저에서 열기: 브라우저를 열고 Docker Hub의 지정된 리포지토리로 이동합니다.
- 새로 고침: 변경 사항을 반영하도록 리포지토리를 새로 고칩니다.
리포지토리의 각 태그가 지정된 이미지에 대해 수행할 수 있는 작업은 다음과 같습니다.
- 이미지 푸시: 이미지의 최신 버전을 로컬로 복사합니다.
- 전체 태그 복사: 전체 태그를 클립보드에 복사합니다.
- Azure App Service로 이미지 배포: 이미지를 Azure App Service로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.
- Azure Container Apps로 이미지 배포: 이미지를 Azure Container Apps로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.
- 브라우저에서 열기: 브라우저를 열고 Docker Hub의 지정된 이미지로 이동합니다.
Azure Container Registry
이 옵션을 사용하려면 Azure 리소스 확장이 필요하며, 이를 통해 Azure 계정에 연결하고 모든 다른 구독 및 레지스트리를 표시할 수 있습니다. 인증되면 Azure 노드에 구독과 각 구독의 레지스트리가 표시됩니다.

각 레지스트리에 대해 사용자는 컨텍스트 메뉴를 사용하여 다양한 작업을 수행할 수 있습니다.

- 레지스트리 삭제: 레지스트리를 영구적으로 삭제합니다.
- 포털에서 열기: 브라우저를 열고 Azure Portal에서 레지스트리로 이동합니다.
- 속성 보기: 레지스트리 속성을 JSON 형식으로 엽니다.
- 새로 고침: 변경 사항을 반영하도록 레지스트리를 새로 고칩니다.
지정된 레지스트리의 각 리포지토리에 대해 수행할 수 있는 작업은 다음과 같습니다.

- 리포지토리 푸시: 지정된 리포지토리의 모든 이미지를 로컬로 복사합니다.
- 리포지토리 삭제: 리포지토리를 영구적으로 삭제합니다.
- 새로 고침: 변경 사항을 반영하도록 리포지토리를 새로 고칩니다.
리포지토리의 각 태그가 지정된 이미지에 대해 수행할 수 있는 작업은 다음과 같습니다.

- 이미지 푸시: 이미지의 최신 버전을 로컬로 복사합니다.
- 전체 태그 복사: 전체 태그를 클립보드에 복사합니다.
- 이미지 다이제스트 복사: Docker에서 사용하는 SHA256 해시 식별자인 이미지 다이제스트를 클립보드에 복사합니다. 이미지 다이제스트에 대한 자세한 내용은 Docker 설명서를 참조하세요.
- 이미지 매니페스트 검사: 이미지의 레지스트리 매니페스트를 검사합니다. 이는 로컬로 푸시된 이미지를 검사하는 것과 동일하지 않습니다.
- Azure App Service로 이미지 배포: 이미지를 Azure App Service로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.
- Azure Container Apps로 이미지 배포: 이미지를 Azure Container Apps로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.
- 이미지 태그 제거: 이미지의 태그를 제거합니다.
- 이미지 삭제: 이미지를 영구적으로 삭제합니다.
GitHub
이것은 GitHub 계정의 컨테이너 레지스트리에 연결합니다. 이 옵션을 선택하면 GitHub 계정 자격 증명을 입력하라는 메시지가 표시됩니다.

GitHub 레지스트리의 각 리포지토리에 대해 수행할 수 있는 작업은 다음과 같습니다.
- 리포지토리 푸시: 지정된 리포지토리의 모든 이미지를 로컬로 복사합니다.
- 새로 고침: 변경 사항을 반영하도록 리포지토리를 새로 고칩니다.
리포지토리의 각 태그가 지정된 이미지에 대해 수행할 수 있는 작업은 다음과 같습니다.
- 이미지 푸시: 이미지의 최신 버전을 로컬로 복사합니다.
- 전체 태그 복사: 전체 태그를 클립보드에 복사합니다.
- 이미지 다이제스트 복사: Docker에서 사용하는 SHA256 해시 식별자인 이미지 다이제스트를 클립보드에 복사합니다. 이미지 다이제스트에 대한 자세한 내용은 Docker 설명서를 참조하세요.
- 이미지 매니페스트 검사: 이미지의 레지스트리 매니페스트를 검사합니다. 이는 로컬로 푸시된 이미지를 검사하는 것과 동일하지 않습니다.
- Azure App Service로 이미지 배포: 이미지를 Azure App Service로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.
- Azure Container Apps로 이미지 배포: 이미지를 Azure Container Apps로 배포합니다. Azure로 이미지 배포 페이지를 참조하세요.