다음을 통해 공유


(사용되지 않음) Azure Container Service와 함께 사용할 컨테이너 이미지 만들기

팁 (조언)

Azure Kubernetes Service를 사용하는 이 자습서의 업데이트된 버전은 자습서: AKS(Azure Kubernetes Service)에 대한 애플리케이션 준비를 참조하세요.

경고

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 사용 중단 공지 사항을 참조하세요.

7부 중 1부인 이 자습서에서는 Kubernetes에서 사용할 다중 컨테이너 애플리케이션을 준비합니다. 완료된 단계는 다음과 같습니다.

  • GitHub에서 애플리케이션 원본 복제
  • 애플리케이션 원본에서 컨테이너 이미지 만들기
  • 로컬 Docker 환경에서 애플리케이션 테스트

완료되면 로컬 개발 환경에서 다음 애플리케이션에 액세스할 수 있습니다.

Azure에서의 Kubernetes 클러스터 이미지

후속 자습서에서는 컨테이너 이미지가 Azure Container Registry에 업로드된 다음 Azure 호스팅 Kubernetes 클러스터에서 실행됩니다.

시작하기 전 주의 사항:

이 자습서에서는 컨테이너, 컨테이너 이미지 및 기본 Docker 명령과 같은 핵심 Docker 개념에 대한 기본적인 이해를 가정합니다. 필요한 경우 컨테이너 기본 사항에 대한 입문서에 대한 Docker 시작을 참조하세요.

이 자습서를 완료하려면 Docker 개발 환경이 필요합니다. Docker는 모든 Mac, Windows 또는 Linux 시스템에서 쉽게 Docker를 구성하는 패키지를 제공합니다.

Azure Cloud Shell은 이 자습서의 모든 단계를 완료하는 데 필요한 Docker 구성 요소를 포함하지 않습니다. 따라서 전체 Docker 개발 환경을 사용하는 것이 좋습니다.

애플리케이션 코드 가져오기

이 자습서에서 사용되는 샘플 애플리케이션은 기본 투표 앱입니다. 애플리케이션은 프런트 엔드 웹 구성 요소와 백 엔드 Redis 인스턴스로 구성됩니다. 웹 구성 요소는 사용자 지정 컨테이너 이미지로 패키지됩니다. Redis 인스턴스는 Docker Hub에서 수정되지 않은 이미지를 사용합니다.

git을 사용하여 개발 환경에 애플리케이션의 복사본을 다운로드합니다.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

복제된 디렉터리에서 작업할 수 있도록 디렉터리를 변경합니다.

cd azure-voting-app-redis

디렉터리 내부에는 애플리케이션 소스 코드, 미리 만든 Docker 작성 파일 및 Kubernetes 매니페스트 파일이 있습니다. 이러한 파일은 자습서 집합 전체에서 사용됩니다.

컨테이너 이미지 만들기

Docker Compose 를 사용하여 컨테이너 이미지 빌드 및 다중 컨테이너 애플리케이션 배포를 자동화할 수 있습니다.

docker-compose.yml 파일을 실행하여 컨테이너 이미지를 만들고, Redis 이미지를 다운로드하고, 애플리케이션을 시작합니다.

docker-compose up -d

완료되면 docker images 명령을 사용하여 만든 이미지를 확인합니다.

docker images

세 개의 이미지가 다운로드되거나 생성되었습니다. azure-vote-front 이미지는 애플리케이션을 포함하고 nginx-flask 이미지를 기본으로 사용합니다. 이미지는 redis Redis 인스턴스를 시작하는 데 사용됩니다.

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

docker ps 명령을 실행하여 실행 중인 컨테이너를 확인합니다.

docker ps

출력:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

로컬로 애플리케이션 테스트

실행 중인 애플리케이션을 확인하려면 https://localhost:8080 찾습니다.

Azure에서의 Kubernetes 클러스터 이미지

리소스 정리

이제 애플리케이션 기능의 유효성이 검사되었으므로 실행 중인 컨테이너를 중지하고 제거할 수 있습니다. 컨테이너 이미지를 삭제하지 마세요. 이미지는 azure-vote-front 다음 자습서에서 Azure Container Registry 인스턴스에 업로드됩니다.

다음을 실행하여 실행 중인 컨테이너를 중지합니다.

docker-compose stop

다음 명령을 사용하여 중지된 컨테이너 및 리소스를 삭제합니다.

docker-compose down

완료되면 Azure Vote 애플리케이션을 포함하는 컨테이너 이미지가 있습니다.

다음 단계

이 자습서에서는 애플리케이션을 테스트하고 애플리케이션에 대해 컨테이너 이미지를 만들었습니다. 다음 단계가 완료되었습니다.

  • GitHub에서 애플리케이션 원본 복제
  • 애플리케이션 원본에서 컨테이너 이미지 만들기
  • 로컬 Docker 환경에서 애플리케이션 테스트

다음 자습서로 이동하여 Azure Container Registry에 컨테이너 이미지를 저장하는 방법을 알아봅니다.