Tutum을 사용하여 Amazon에 Docker 배포하기 에 도커 이미지를 배포하는 방법을 설명했습니다. 도커 투툼. Tutum은 지금 도커 클라우드.
읽기 Docker Cloud 소개 에서 자세한 내용을 확인하세요.

Docker Cloud의 주요 기능은 다음과 같습니다:
- Docker ID를 사용한 인증
- Docker Hub와 통합
- 지원 대상 Docker 공식 리포지토리
- 상업적으로 지원되는 Docker 엔진
- GUI, API 및 CLI를 사용하여 애플리케이션을 배포하고 확장하는 기능
이 블로그에서 확인할 수 있습니다:
- Docker Cloud의 주요 개념
- 새 Docker Cloud 노드를 만드는 방법
- Docker Cloud CLI 설치 방법
- 새 Docker 클라우드 서비스를 만드는 방법
- Docker Cloud에서 Couchbase Server 액세스
- Docker 클라우드 서비스 및 노드를 종료하는 방법
마지막으로 Docker Cloud 문서에 대한 몇 가지 참조를 남깁니다.
블로그는 다음을 사용합니다. 카우치베이스 서버 - 확장성이 뛰어난 오픈 소스, Docker 이미지용 JSON 문서 데이터베이스입니다.
도커 클라우드 TL;DR
다음은 Amazon에서 Docker Cloud를 사용하여 Docker 이미지를 실행하는 빠른 명령어입니다:
|
1 2 3 4 5 |
brew 설치 도커-클라우드 도커-클라우드 노드 클러스터 create -t 1 --태그 카우치베이스 카우치베이스-노드 aws 우리-west-1 m3.large 도커-클라우드 서비스 create --태그 카우치베이스 -p 8091:8091 -p 8092:8092 -p 8093:8093 -p 11210:11210 arungupta/카우치베이스 도커-클라우드 서비스 시작 {SERVICE_ID} 도커-클라우드 서비스 검사 {SERVICE_ID} | jq ".container_ports[0].endpoint_uri" | sed 's/tcp/http/g' |
자세한 내용은 아래에서 확인하세요.
Docker Cloud의 주요 개념
Docker Cloud의 핵심 개념을 이해해 보겠습니다:
- 노드는 애플리케이션을 배포하고 실행하는 데 사용되는 개별 Linux 호스트/VM입니다. 새 노드를 프로비저닝하여 용량을 늘릴 수 있습니다. Docker Cloud는 호스팅 서비스를 제공하지 않습니다. 노드는 물리적 서버, 가상 머신 또는 클라우드 공급자를 사용하여 프로비저닝됩니다.
- 노드 클러스터는 동일한 유형의 노드로 구성된 논리적 그룹입니다. 노드 클러스터를 사용하면 더 많은 노드를 프로비저닝하여 인프라를 쉽게 확장할 수 있습니다.
- 서비스는 동일한 이미지의 논리적 컨테이너 그룹입니다. 서비스를 사용하면 여러 노드에서 애플리케이션을 간편하게 확장할 수 있습니다.
Docker Cloud는 다음을 사용하여 관리할 수 있습니다. 웹, CLI 또는 REST API. 이 블로그에서는 모든 명령을 수행하기 위해 Docker Cloud CLI를 사용합니다.
Docker Cloud CLI 설치
Docker Cloud CLI를 설치합니다:
|
1 2 3 4 5 |
brew 설치 도커-클라우드 ==> 다운로드 https://homebrew.bintray.com/bottles/docker-cloud-1.0.2.yosemite.bottle.tar.gz 이미 다운로드: /라이브러리/캐시/홈브루/도커-클라우드-1.0.2.yosemite.bottle.tar.gz ==> 붓기 도커-클라우드-1.0.2.yosemite.bottle.tar.gz ? /usr/local/지하실/도커-클라우드/1.0.2: 482 파일, 4.1M |
전체 설치 지침은 다음 링크에서 확인할 수 있습니다. CLI 설치. 버전 확인:
|
1 2 |
도커-클라우드 -v 도커-클라우드 1.0.2 |
전체 명령 집합은 다음과 같습니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
사용법: 도커-클라우드 [-h] [-v] {액션,컨테이너,이벤트,exec,로그인,노드,노드 클러스터,저장소,실행,서비스,스택,태그,트리거,up} ... Docker 클라우드 CLI 선택 사항 인수: -h, --도움말 show 이 도움말 메시지 그리고 exit -v, --버전 show 프로그램's 버전 숫자 그리고 exit Docker 클라우드 CLI 명령: {액션,컨테이너,이벤트,exec,로그인,노드,노드 클러스터,저장소,실행,서비스,스택,태그,트리거,up} 액션 액션-관련 작업 컨테이너 컨테이너-관련 작업 이벤트 Get real 시간 Docker 클라우드 이벤트 exec 실행 a 명령 in a 실행 중 컨테이너 로그인 제발 사용 "도커 로그인" 에 로그 에 Docker 클라우드 노드 노드-관련 작업 노드 클러스터 노드 클러스터-관련 작업 저장소 리포지토리-관련 작업 실행 만들기 그리고 실행 a new 서비스 서비스 서비스-관련 작업 스택 스택-관련 작업 태그 태그-관련 작업 트리거 트리거-관련 작업 up 만들기 그리고 배포 a 스택 |
로그인 자격 증명을 저장합니다:
|
1 2 3 4 5 6 |
도커 로그인 사용자 이름: arungupta 비밀번호: 이메일: arun.gupta@gmail.com 경고: 로그인 자격 증명 저장 in /사용자/arungupta/.도커/구성.json 로그인 성공 |
새 Docker 클라우드 노드 만들기
클라우드 제공업체 자격 증명을 다음 주소로 등록하세요. Docker Cloud 웹 UI 에 설명된 대로 클라우드 서비스 제공업체 링크. Amazon, Digital Ocean, Azure 및 기타 클라우드 공급자가 지원됩니다..
단일 노드로 새 노드 클러스터를 만듭니다:
|
1 2 |
도커-클라우드 노드 클러스터 create -t 1 --태그 카우치베이스 카우치베이스-노드 aws 우리-west-1 m3.large 42a34e04-02e1-47be-bf87-ec06e0e0b604 |
이 노드 클러스터에는 단일 노드(-t 1) 및 "couchbase" 태그(--태그 카우치베이스). 마지막 네 개의 파라미터는 노드 클러스터 이름(카우치베이스 노드공급자 (aws지역 (us-west-1 및 노드 유형(m3.large).
이 노드 클러스터의 각 노드에는 할당된 태그가 부여됩니다. 이 태그는 나중에 특정 노드 또는 노드 클러스터에 서비스를 할당하는 데 사용됩니다.
이 노드 클러스터의 상태를 확인할 수 있습니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
도커-클라우드 노드 클러스터 검사 42a34e04-02e1-47be-bf87-ec06e0e0b604 | jq { "디스크": 60, "uuid": "42a34e04-02e1-47be-bf87-ec06e0e0b604", "태그": [ { "name": "couchbase" } ], "current_num_nodes": 1, "region": "/api/인프라/v1/지역/aws/us-west-1/", "target_num_nodes": 1, "state": "배포됨", "node_type": "/api/인프라/v1/노드타입/aws/m3.large/", "resource_uri": "/api/infra/v1/nodecluster/42a34e04-02e1-47be-bf87-ec06e0e0b604/", "파괴된_날짜": null, "공급자_옵션": {}, "nodes": [ "/api/infra/v1/node/5c4c78e0-71c9-4420-9a1d-fdb04a35d1de/" ], "배포된_날짜": "Tue, 15 Mar 2016 17:18:17 +0000", "닉네임": "couchbase-node", "도커클라우드_액션_우리": "", "name": "couchbase-node" } |
의 대시보드에서 cloud.docker.com 가 표시되도록 업데이트됩니다: 
새 Docker 클라우드 서비스 만들기
Docker 클라우드 서비스를 만듭니다:
|
1 2 |
도커-클라우드 서비스 create --태그 카우치베이스 -p 8091:8091 -p 8092:8092 -p 8093:8093 -p 11210:11210 arungupta/카우치베이스 936dbe58-7c7c-4289-837a-15D29128E5EA |
여러 노드 클러스터가 존재하는 경우 --태그 는 노드 클러스터에 서비스를 할당하는 데 사용됩니다. docker-cli#10 를 -p 8091-8093:8091-8093 형식을 사용하여 여러 포트가 노출될 수 있도록 제출합니다. 이는 docker CLI와 정렬됩니다.
여기에 사용된 도커 이미지는 아룽업타/카우치베이스. 이 이미지는 공식 카우치베이스 이미지 도커 허브 그리고 다양한 서비스에 맞게 사전 구성.
Docker 클라우드 서비스를 시작합니다:
|
1 2 |
도커-클라우드 서비스 시작 834343fd-b1d5-4d66-a2cd-69d27a471658 834343fd-b1d5-4d66-a2cd-69d27a471658 |
업데이트된 대시보드의 모습은 다음과 같습니다:
Docker 클라우드 서비스 로그를 가져옵니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
도커-클라우드 서비스 로그 834343fd-b1d5-4d66-a2cd-69d27a471658 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:04.826000846Z 시작 카우치베이스 서버 -- 웹 UI 사용 가능 에서 http://:8091 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.832855273Z * 시도 중 127.0.0.1... 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.833816400Z % 합계 % 수신됨 % Xferd 평균 속도 시간 시간 시간 현재 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.834647384Z Dload 업로드 합계 소비 왼쪽 속도 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* 연결됨 에 127.0.0.1 (127.0.0.1) 포트 8091 (#0) 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.835659864Z > POST /풀/기본값 HTTP/1.1 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.835705633Z > 사용자-에이전트: curl/7.40.0-DEV 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.835764766Z > 호스트: 127.0.0.1:8091 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.835808491Z > 수락: */* couchbase-d96eed5d-1 | 2016-03-14T22:54:19.835849972Z > 콘텐츠-길이: 36 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.835890805Z > Content-Type: application/x-www-form-urlencoded couchbase-d96eed5d-1 | 2016-03-14T22:54:19.835951739Z > > couchbase-d96eed5d-1 | 2016-03-14T22:54:19.836153748Z } [36바이트 데이터] couchbase-d96eed5d-1 | 2016-03-14T22:54:19.836431490Z * 업로드가 완전히 전송되었습니다: 36바이트 중 36바이트 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838702601Z < HTTP/1.1 200 OK couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838831946Z < 서버: 카우치베이스 서버 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838882039Z < 프래그마: 캐시 없음 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838929456Z < 날짜: 월, 14 Mar 2016 22:54:19 GMT couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838944199Z < 콘텐츠-길이: 0 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838973658Z < 캐시-제어: 캐시 없음 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.838984780Z POST /node/controller/setupServices HTTP/1.1 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.845729619Z > 사용자-에이전트: curl/7.40.0-DEV couchbase-d96eed5d-1 | 2016-03-14T22:54:19.845805193Z > 호스트: 127.0.0.1:8091 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.845858410Z > 동의: */* 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.845911479Z > 콘텐츠-길이: 26 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.845986653Z > 콘텐츠-유형: 애플리케이션/x-www-양식-urlencoded 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.846040578Z > 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.846312512Z } [26 바이트 데이터] 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.846561659Z * 업로드 완전히 보낸 꺼짐: 26 out 의 26 바이트 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847024846Z < HTTP/1.1 200 확인 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847082032Z < 서버: 카우치베이스 서버 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847157246Z < Pragma: 아니요-캐시 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847211690Z < 날짜: 월, 14 3월 2016 22:54:19 GMT 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847266024Z < 콘텐츠-길이: 0 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847344403Z < 캐시-제어: 아니요-캐시 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.847411160Z < 100 26 0 0 100 26 0 6056 --:--:-- --:--:-- --:--:-- 8666 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.849284426Z * 연결 #0 호스트 127.0.0.1 왼쪽 그대로 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.853702443Z * Trying 127.0.0.1... couchbase-d96eed5d-1 | 2016-03-14T22:54:19.853890120Z % 총 % 수신 % Xferd 평균 속도 시간 시간 현재 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.853943309Z 업로드 업로드 총 남은 속도 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* 127.0.0.1 (127.0.0.1) 포트 8091 (#0)에 연결됨 couchbase-d96eed5d-1 | 2016-03-14T22:54:19.854112174Z > POST /settings/web HTTP/1.1 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854169870Z > 사용자-에이전트: curl/7.40.0-DEV 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854223412Z > 호스트: 127.0.0.1:8091 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854278756Z > 수락: */* 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854335649Z > 콘텐츠-길이: 50 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854391073Z > 콘텐츠-유형: 애플리케이션/x-www-양식-urlencoded 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854447141Z > 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.854683623Z } [50 바이트 데이터] 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.855024680Z * 업로드 완전히 보낸 꺼짐: 50 out 의 50 바이트 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859378932Z < HTTP/1.1 200 확인 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859530830Z < 서버: 카우치베이스 서버 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859611527Z < Pragma: 아니요-캐시 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859794083Z < 날짜: 월, 14 3월 2016 22:54:19 GMT 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859848224Z < 콘텐츠-유형: 애플리케이션/json 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859912932Z < 콘텐츠-길이: 39 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859957829Z < 캐시-제어: 아니요-캐시 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859972017Z < 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.859986584Z { [39 바이트 데이터] 100 89 100 39 100 50 6060 7770 --:--:-- --:--:-- --:--:-- 8333 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.860221103Z * 연결 #0에서 호스트 127.0.0.1까지 그대로 유지됨 카우치베이스-d96eed5d-1 | 2016-03-14T22:54:19.860730000Z {"newBaseUri":"http://127.0.0.1:8091/"}/진입점.sh 카우치베이스-서버 |
로그에는 Couchbase REST API 를 호출하여 Couchbase 서버를 구성합니다.
Docker Cloud에서 Couchbase Server 액세스
노출된 컨테이너 포트가 있는지 Docker Cloud 서비스를 검사합니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
도커-클라우드 서비스 검사 936dbe58-7c7c-4289-837a-15D29128E5EA | jq ".container_ports" [ { "프로토콜": "tcp", "outer_port": 8091, "inner_port": 8091, "port_name": "알 수 없음", "게시됨": true, "endpoint_uri": "tcp://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8091/" }, { "프로토콜": "tcp", "outer_port": 8092, "inner_port": 8092, "port_name": "알 수 없음", "게시됨": true, "endpoint_uri": "tcp://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8092/" }, { "프로토콜": "tcp", "outer_port": 8093, "inner_port": 8093, "port_name": "알 수 없음", "게시됨": true, "endpoint_uri": "tcp://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8093/" }, { "프로토콜": "tcp", "outer_port": 11210, "inner_port": 11210, "port_name": "알 수 없음", "게시됨": true, "endpoint_uri": "tcp://couchbase-b9132b42.936dbe58.svc.dockerapp.io:11210/" } ] |
좀 더 구체적으로 말하자면, 정확한 URI는 카우치베이스 웹 콘솔 로 얻을 수 있습니다:
|
1 2 |
도커-클라우드 서비스 검사 936dbe58-7c7c-4289-837a-15D29128E5EA | jq ".container_ports[0].endpoint_uri" | sed 's/tcp/http/g' "http://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8091/" |
http://couchbase-b9132b42.936dbe58.svc.dockerapp.io:8091/ 에서 Couchbase 웹 콘솔에 액세스하여 Couchbase 웹 콘솔 로그인 화면을 확인합니다. 다음 비밀번호 자격 증명을 입력합니다. 관리자 그리고 비밀번호. 
그리고 카우치베이스 웹 콘솔 처럼 보입니다:
Docker 클라우드 서비스 및 노드 종료하기
실행 중인 Docker Cloud 서비스 목록을 확인합니다:
|
1 2 3 |
도커-클라우드 서비스 ps 이름 UUID 상태 #컨테이너 이미지 배포된 퍼블릭 DNS 스택 카우치베이스-b9132b42 936dbe58 ▶ 실행 중 1 arungupta/카우치베이스:최신 10 분 전 카우치베이스-b9132b42.936dbe58.svc.dockerapp.io |
서비스를 종료합니다:
|
1 |
도커-클라우드 서비스 종료 936dbe58 |
노드 목록을 확인합니다:
|
1 2 3 |
도커-클라우드 노드 ls UUID FQDN 최근 상태 클러스터 DOCKER_VER 5c4c78e0 5c4c78e0-71c9-4420-9a1d-fdb04a35d1de.노드.도커앱.io 35 초 전 ▶ 배포됨 카우치베이스-노드 1.9.1-cs2 |
로 노드를 종료합니다:
|
1 |
도커-클라우드 노드 rm 5c4c78e0 |
Docker 클라우드 참조
이 블로그에서 배웠습니다:
- Docker Cloud의 주요 개념
- 새 Docker Cloud 노드를 만드는 방법
- Docker Cloud CLI 설치 방법
- 새 Docker 클라우드 서비스를 만드는 방법
- Docker Cloud에서 Couchbase Server 액세스
- Docker 클라우드 서비스 및 노드를 종료하는 방법
즐기세요! 출처: https://www.couchbase.com/blog/getting-started-docker-cloud/


