팁 (조언)
Azure Kubernetes Service를 사용하는 이 자습서의 업데이트된 버전은 자습서: Azure Container Registry 배포 및 사용을 참조하세요.
경고
ACS(Azure Container Service)는 더 이상 사용되지 않습니다. ACS에 새로운 기능이나 기능이 추가되지 않습니다. 모든 API, 포털 환경, CLI 명령 및 설명서는 더 이상 사용되지 않는 것으로 표시됩니다.
2017년에는 Kubernetes 관리, 배포 및 작업을 간소화하기 위해 AKS(Azure Kubernetes Service)를 도입했습니다. Kubernetes 오케스트레이터를 사용하는 경우 2020년 1월 31일까지 AKS로 마이그레이션하세요. 시작하려면 Azure Kubernetes Service로 마이그레이션을 참조 하세요.
자세한 내용은 Azure.com Azure Container Service 사용 중단 공지 사항을 참조하세요.
ACR(Azure Container Registry)은 Docker 컨테이너 이미지에 대한 Azure 기반 프라이빗 레지스트리입니다. 7부 중 2부인 이 자습서에서는 Azure Container Registry 인스턴스를 배포하고 컨테이너 이미지를 푸시하는 방법을 안내합니다. 완료된 단계는 다음과 같습니다.
- ACR(Azure Container Registry) 인스턴스 배포
- ACR에 대한 컨테이너 이미지 태그 지정
- ACR에 이미지 업로드
후속 자습서에서 이 ACR 인스턴스는 Azure Container Service Kubernetes 클러스터와 통합됩니다.
시작하기 전 주의 사항:
이전 자습서에서는 간단한 Azure Voting 애플리케이션에 대한 컨테이너 이미지를 만들었습니다. Azure Voting 앱 이미지를 만들지 않은 경우 자습서 1 - 컨테이너 이미지 만들기로 돌아갑니다.
This tutorial requires that you are running the Azure CLI version 2.0.4 or later.
az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드가 필요한 경우, Azure CLI 설치를 참조하세요.
Azure Container Registry 배포
Azure 컨테이너 레지스트리를 배포할 때, 먼저 리소스 그룹이 필요합니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.
az group create 명령을 사용하여 리소스 그룹을 만듭니다. 이 예제에서는 westeurope 지역에 myResourceGroup라는 이름의 리소스 그룹이 생성됩니다.
az group create --name myResourceGroup --location westeurope
az acr create 명령어를 사용하여 Azure 컨테이너 레지스트리를 만드세요. Container Registry의 이름은 고유해야 합니다.
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
이 자습서의 남은 부분 동안 <acrname>를 컨테이너 레지스트리 이름의 자리 표시자로 사용합니다.
컨테이너 레지스트리 로그인
az acr login 명령을 사용하여 ACR 인스턴스에 로그인합니다. 컨테이너 레지스트리를 만들 때 지정된 고유한 이름을 제공해야 합니다.
az acr login --name <acrName>
명령어가 완료되면 '로그인 성공' 메시지를 반환합니다.
컨테이너 이미지에 태그 지정하기
현재 이미지 목록을 보려면 docker images 명령어를 사용하세요.
docker images
출력:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 4675398c9172 13 minutes ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
각 컨테이너 이미지는 레지스트리의 loginServer 이름으로 태그가 필요합니다. 이 태그는 컨테이너 이미지를 이미지 레지스트리에 밀어넣을 때 라우팅에 사용됩니다.
loginServer 이름을 얻으려면 다음 명령을 실행합니다.
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
이제 컨테이너 레지스트리의 azure-vote-front loginServer를 사용하여 이미지에 태그를 지정합니다. 또한, 이미지 이름 끝에 :v1를 추가하세요. 이 태그는 이미지 버전을 나타냅니다.
docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1
태그가 지정되면 Docker 이미지를 실행하여 작업을 확인합니다.
docker images
출력:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest eaf2b9c57e5e 8 minutes ago 716 MB
mycontainerregistry082.azurecr.io/azure-vote-front v1 eaf2b9c57e5e 8 minutes ago 716 MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 8 months ago 694 MB
레지스트리에 이미지 푸시
레지스트리에 azure-vote-front 이미지를 푸시합니다.
Using the following example, replace the ACR loginServer name with the loginServer from your environment.
docker push <acrLoginServer>/azure-vote-front:v1
완료하는 데 몇 분 정도 걸립니다.
레지스트리에서 이미지 나열
Azure Container Registry에 푸시된 이미지 목록을 반환하려면 az acr repository list 명령을 사용합니다. 명령어를 ACR 인스턴스 이름으로 업데이트합니다.
az acr repository list --name <acrName> --output table
출력:
Result
----------------
azure-vote-front
그런 다음 특정 이미지에 대한 태그를 보려면 az acr repository show-tags 명령을 사용합니다.
az acr repository show-tags --name <acrName> --repository azure-vote-front --output table
출력:
Result
--------
v1
튜토리얼이 완료되면 컨테이너 이미지가 개인 Azure 컨테이너 레지스트리 인스턴스에 저장됩니다. 이 이미지는 후속 자습서에서 ACR에서 Kubernetes 클러스터로 배포됩니다.
다음 단계
이 자습서에서는 ACS Kubernetes 클러스터에서 사용할 Azure Container Registry를 준비했습니다. 다음 단계가 완료되었습니다.
- Azure Container Registry 인스턴스 배포
- ACR에 대한 컨테이너 이미지 태그 지정
- ACR에 이미지 업로드
Azure에서 Kubernetes 클러스터를 배포하는 방법을 알아보려면 다음 자습서로 진행하세요.