이 블로그에서는 다음을 시작하는 방법을 설명합니다. AWS용 Docker 멀티호스트 배포 스웜 클러스터 아마존에서.
Docker Logo
amazon-web-services-logo

많은 분들께 감사드립니다. 프리즘 기본 디버깅을 도와주셔서 감사합니다!

boot2docker -> 도커 머신 -> Mac용 도커

Docker를 사용하여 애플리케이션을 패키징하고 있습니까? boot2docker 개발 중인 컨테이너를 실행하기 위해? 그렇다면 정말 바위 밑에 살고 계신 겁니다!

다음으로 업그레이드하는 것이 좋습니다. 도커 머신 도커 컨테이너의 개발/테스팅을 위해. boot2docker를 캡슐화하여 머신에 하나 이상의 경량 가상 머신을 생성할 수 있습니다. 각
VM은 도커 엔진 역할을 하며 여러 개의 도커 컨테이너를 실행할 수 있습니다. 여러 VM을 실행하면 멀티 호스트를 설정할 수 있습니다. 도커 스웜 클러스터를 로컬 노트북에서 쉽게 사용할 수 있습니다.

도커 머신 는 이제 오래된 뉴스가 되었습니다. 도커콘 2016 발표 Mac용 Docker 공개 베타. 즉, 누구나
에서 Mac용 도커에 가입하세요. docker.com/getdocker 를 설치하여 Docker 컨테이너의 개발/테스트에 사용하세요. 물론 Windows용 Docker도 있습니다!

Mac용 Docker는 여전히 단일 호스트이지만 스웜 모드 를 사용하여 단일 노드 스웜 클러스터로 초기화할 수 있습니다.

AWS용 Docker란 무엇인가요?

이제 개발을 위해 Mac용 Docker를 사용한다면 어떤 배포 플랫폼을 사용하시겠습니까? 도커콘 2016에서도 AWS용 도커 및 애저 베타 발표.

AWS용 Docker와 Azure는 모두 기본적으로 스웜 모드가 활성화된 상태에서 Docker 1.12 엔진 제품군을 시작합니다. 스웜 모드는 개별 Docker 엔진이 자체 조직화 및 자가 복구 스웜으로 구성되며, 내구성을 위해 가용성 영역에 분산되어 있음을 의미합니다.

AWS 및 Azure 요금만 적용되며, 현재 AWS용 Docker 및 Azure용 Docker는 무료입니다. 다음에서 AWS 및 Azure용 Docker에 등록하세요. beta.docker.com. 현재로서는 제한적으로 제공된다는 점에 유의하세요.
시간입니다. 계정이 활성화되면 아래와 같은 초대 이메일을 받게 됩니다:
 docker-aws-invite

AWS용 도커 클라우드포메이션 값

를 클릭합니다. 스택 시작 을 클릭하면 CloudFormation 템플릿 페이지로 리디렉션됩니다. 기본값을 사용합니다:
docker4aws-1
S3 템플릿
URL이 자동으로 입력되며 여기서는 숨겨집니다. 를 클릭합니다. 다음. 이 페이지에서는 CloudFormation 템플릿에 대한 세부 정보를 지정할 수 있습니다:
docker4aws-2

다음과 같이 변경될 수 있습니다:

  • 템플릿 이름
  • 개수 관리자 그리고 worker 노드, 이 경우 1과 3입니다. 매니저는 홀수만 지정할 수 있다는 점에 유의하세요. 기본적으로 컨테이너는 워커 노드에서만 스케줄됩니다.
  • 마스터 및 워커 노드의 AMI 크기
  • AWS 계정에 이미 구성된 키

를 클릭합니다. 다음 를 클릭하고 기본값을 사용합니다:
docker4aws-3

를 클릭합니다. 다음를 클릭하고 설정을 확인합니다:
docker4aws-4
docker4aws-5
선택
IAM 리소스 확인란을 클릭하고 만들기 버튼을 클릭해 CloudFormation 템플릿을 생성합니다. 4노드 클러스터(관리자 1명 + 작업자 3명)를 만드는 데 약 10분이 걸렸습니다:
docker4aws-6
자세한 내용
클러스터에 대한 정보는 EC2 콘솔에서 확인할 수 있습니다:
docker4aws-7

AWS용 도커 스웜 클러스터 세부 정보

EC2 콘솔의 출력 탭에는 클러스터에 대한 자세한 정보가 표시됩니다:
docker4aws-8
자세한 내용
클러스터에 대한 정보는 두 가지 방법으로 얻을 수 있습니다:

  • SSH를 사용하여 클러스터에 로그인합니다.
  • 터널을 생성한 다음 로컬 Docker CLI를 구성합니다.

AWS용 Docker에 SSH 연결 만들기

에 표시된 명령을 사용하여 로그인 가치 열의 출력 탭을 클릭합니다. 다른 이름으로 SSH 연결을 만듭니다:

여기서는 CloudFormation 템플릿에서 지정한 것과 동일한 키를 사용하고 있다는 점에 유의하세요. 컨테이너 목록은 다음을 사용하여 확인할 수 있습니다. 도커 PS 명령을 사용합니다:

AWS용 Docker에 SSH 터널 만들기

또는 다음과 같이 SSH 터널을 만들 수 있습니다:

DOCKER_HOST를 설정합니다:

컨테이너 목록은 위와 같이 다음을 사용하여 확인할 수 있습니다. 도커 PS 명령을 실행합니다. 또한 클러스터에 대한 자세한 정보는 다음을 사용하여 얻을 수 있습니다. 도커 정보 명령을 사용합니다:

다음은 이 출력의 주요 세부 정보입니다:

  • 4개의 노드와 1개의 매니저, 즉 3개의 워커 노드를 의미합니다.
  • 모든 노드가 Docker 엔진 버전 1.12.0-rc3을 실행 중입니다.
  • 각 VM은 Alpine Linux 3.4를 사용하여 생성됩니다.

AWS용 Docker에서 워커 노드 확장하기

모든 워커 노드는 다음과 같이 구성됩니다. AWS 오토스케일링 그룹. Manager 노드는 별도의 AWS 자동 확장 그룹에 구성됩니다.
docker4aws-9
먼저
릴리스를 사용하면 자동 스케일링 그룹을 사용하여 워커 수를 확장할 수 있습니다. Docker는 스웜에 새 인스턴스를 자동으로 가입하거나 제거합니다. 관리자 수를 실시간으로 변경하는 방법은 not 이 릴리스에서 지원됩니다. 이 릴리스에서
워커 노드에 대한 자동 스케일링 그룹을 클릭하여 그룹에 대한 전체 세부 정보를 확인하세요:
docker4aws-10

를 클릭합니다. 편집 버튼을 클릭하여 원하는 인스턴스 수를 5개로 변경한 후, 설정을 저장합니다. 저장 버튼을 클릭합니다:
docker4aws-11

새 인스턴스가 프로비저닝되고 Docker 스웜 클러스터에 자동으로 포함되는 데는 몇 초 정도 걸립니다. 새로 고쳐진 자동 스케일링 그룹은 다음과 같이 표시됩니다:
docker4aws-12

그리고 지금 도커 정보 명령은 업데이트된 출력을 다음과 같이 표시합니다:

이렇게 하면 총 6개의 노드와 1개의 매니저가 있음을 알 수 있습니다.

AWS용 Docker 레퍼런스

작성자

게시자 Arun Gupta, 개발자 지원 부문 부사장, Couchbase

아룬 굽타는 Couchbase의 개발자 지원 담당 부사장입니다. 그는 Sun, Oracle, Red Hat에서 10년 이상 개발자 커뮤니티를 구축하고 이끌었습니다. 그는 콘텐츠, 마케팅 캠페인 및 프로그램의 전략, 계획 및 실행을 개발 및 실행하는 교차 기능 팀을 이끄는 데 있어 깊은 전문성을 보유하고 있습니다. 그 전에는 Sun에서 엔지니어링 팀을 이끌었으며 Java EE 팀의 창립 멤버입니다. Gupta는 기술에 관한 블로그 게시물을 2,000개 이상 작성했습니다. 40여 개국에서 수많은 주제에 대해 광범위한 강연 경험을 가지고 있으며, 3년 연속 JavaOne Rock Star로 선정되었습니다. 또한 미국에서 Devoxx4Kids 지부를 설립하여 어린이를 대상으로 한 기술 교육을 지속적으로 장려하고 있습니다. 기술에 관한 여러 권의 책을 저술했으며, 열렬한 마라토너이자 지구를 횡단하는 사람, Java 챔피언, JUG 리더, NetBeans 드림팀 멤버, Docker 캡틴이기도 한 그는 @arungupta에서 쉽게 만나볼 수 있습니다.

댓글 남기기