Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
AWS Container Day
AWS Container Day
[2:00 ~ 3:00] 도커의 기초, AWS 김상필 SA
[3:00 ~ 3:30] Case study - 삼성전자, 송주영 선임
[3:30 ~ 3:50]...
AWS Container Day
도커의 기초
김상필 솔루션즈 아키텍트
아마존웹서비스
2015년 12월 14일
AWS Container Day
컨테이너란?
What is container?
AWS Container Day
컨테이너란?
•  운영체제 가상화
•  프로세스 격리
•  자동화
•  이미지 기반
Server	
  
Guest	
  OS	
  
Bins/Libs	
   Bins/Libs	
  
Ap...
AWS Container Day
AWS Container Day
손쉬운 사용, 표준화, 상호운용성을 갖춘 컨테이너
•  컨테이너는 이전부터 존재
(예 : LXC, Solaris Zones,
BSD Jails)
•  도커 컨테이너의 장점 :
-­‐  손...
AWS Container Day
컨테이너 기술의 장점
Portable
•  이식성 장점
•  이미지 기반 배포, 버전 관리
•  어느 곳이나 동일한 운영 환경
•  개발/테스트/운영 환경 동일
Server	
  
Gue...
AWS Container Day
컨테이너 기술의 장점
Flexible
•  유연성
•  이미지 기반으로 배포되는 컨테
이너는 클린하고, 재사용 가능한
모듈화 환경
•  마이크로서비스를 통해 어플리
케이션을 작은 단위로 ...
AWS Container Day
컨테이너 기술의 장점
Fast
•  가벼운 도커 이미지
•  신속한 개발, 빌드, 배포 과정
Server	
  
Guest	
  OS	
  
Bins/Libs	
   Bins/Libs	
...
AWS Container Day
컨테이너 기술의 장점
Efficient
•  필요한 리소스만을 배포
•  OS kernel & libs 를 공유하여 사
용하기 때문에 어플리케이션이
배포하는 것만을 배포
Server	
 ...
AWS Container Day
+	
  
많은 고객이 Docker를 AWS에서 구동하는 이유
•  손쉬운 배포
•  환경의 신뢰성
•  대규모 환경 관리의 용이성
•  자동화
•  분산 애플리케이션
AWS Container Day
AWS 환경에서 Docker 컨테이너 사용하기
•  Docker on EC2
–  Do it yourself
–  다양한 도커 관련 오픈소스 및 3rd party 어플리케이션 활용
•  ...
AWS Container Day
DOCKER ON EC2 기초
AWS 환경에서 Docker 컨테이너 사용하기
AWS Container Day
도커 주요 구성 요소
•  도커 엔진 (또는 도커) – 컨테이너를 생성 또는 실행
•  도커 컨테이너 – 도커 인스턴스
•  도커 이미지 – 컨테이너 실행, 배포를 위한 스냅샷
•  도커...
AWS Container Day
Amazon Linux 인스턴스에서 도커 실행하기
1.  Amazon Linux 설치
AWS Container Day
Amazon Linux 인스턴스에서 도커 실행하기
2.  패키지 업데이트
[ec2-user ~]$ sudo yum update –y
3.  도커(Docker) 설치 (ECS는 Docker...
AWS Container Day
Amazon Linux 인스턴스에서 도커 실행하기
5.  ec2-user의 Docker 그룹 추가
[ec2-user ~]$ sudo usermod -a -G docker ec2-user
...
AWS Container Day
AWS에서 CoreOS 와 도커 실행하기
1.  CoreOS AMI 사용
AWS Container Day
AWS에서 CoreOS 와 도커 실행하기
2.  Running CoreOS on EC2
https://coreos.com/os/docs/latest/booting-on-ec2.html
3...
AWS Container Day
도커 허브 계정 생성 (Optional)
AWS Container Day
도커 이미지 생성
1.  git 설치 및 예제 어플리케이션 다운로드
[ec2-user ~]$ sudo yum install -y git

[ec2-user ~]$ git clone htt...
AWS Container Day
도커 이미지 생성
3.  Dockerfile 내용 검토
[ec2-user ecs-demo-php-simple-app]$ cat Dockerfile

FROM ubuntu:12.04 // ...
AWS Container Day
도커 이미지 생성
3.  Dockerfile 내용 검토 (계속)
# Configure apache

RUN a2enmod rewrite

RUN chown -R www-data:www-d...
AWS Container Day
도커 이미지 생성
4.  도커 이미지 빌드
[ec2-user ecs-demo-php-simple-app]$ docker build -t my-
dockerhub-username/amazo...
AWS Container Day
도커 이미지 생성
6.  도커 신규 이미지 실행
[ec2-user ecs-demo-php-simple-app]$ docker run -p 80:80
my-dockerhub-username...
AWS Container Day
도커 이미지 생성
7.  도커 내 웹서비스 동작 확인
AWS Container Day
도커 이미지 생성
8.  도커 이미지를 도커 허브에 푸시 (Optional)
[ec2-user ecs-demo-php-simple-app]$ docker login

Username: s...
AWS Container Day
도커 이미지 생성
8.  도커 이미지를 도커 허브에 푸시 (Optional) (계속)
[ec2-user ecs-demo-php-simple-app]$ docker push my-
dock...
AWS Container Day
도커 이미지 생성
8.  도커 이미지를 도커 허브에 푸시 (Optional) (계속)
AWS Container Day
도커 이미지 수정
1.  컨테이너 실행
[ec2-user ecs-demo-php-simple-app]$ docker run -t -i
sangpill/amazon-ecs-sample /b...
AWS Container Day
도커 이미지 수정
3.  도커 이미지 커밋
[ec2-user ecs-demo-php-simple-app]$ docker commit -m
"Title change" -a "Sangpill...
AWS Container Day
도커 이미지 수정
4.  도커 이미지를 도커 허브에 푸시 (Optional)
[ec2-user ecs-demo-php-simple-app]$ docker push
sangpill/amaz...
AWS Container Day
도커 이미지 수정
4.  도커 이미지를 도커 허브에 푸시 (Optional)
AWS Container Day
도커 레지스트리 구성 옵션
•  Docker Hub – SaaS로 제공
•  Docker Registry – 오픈소스 프로젝트를 직접 구축
•  Docker Trusted Registry...
AWS Container Day
도커 레지스트리 구성 옵션
•  Docker Hub
•  Docker Registry
•  Docker Trusted Registry
•  Amazon EC2 Container
Regis...
AWS Container Day
도커 레지스트리 구성 옵션
•  Docker Hub
•  Docker Registry
•  Docker Trusted Registry
•  Amazon EC2 Container
Regis...
AWS Container Day
도커 레지스트리 구성 옵션
•  Docker Hub
•  Docker Registry
•  Docker Trusted Registry
•  Amazon EC2 Container
Regis...
AWS Container Day
도커 레지스트리 구성 옵션
•  Docker Hub
•  Docker Registry
•  Docker Trusted Registry
•  Amazon EC2 Container
Regis...
AWS Container Day
컨테이너 배포
AWS 환경에서 Docker 컨테이너 사용하기
AWS Container Day
도커 이미지 배포
1.  호스트 접속
7831c1c87a16:~ sangpill$ ssh -i "snoopy-virginia-
key.pem" ec2-user@54.88.238.68
2....
AWS Container Day
도커 이미지 배포
3.  도커 이미지 풀
[ec2-user ~]$ docker pull sangpill/amazon-ecs-sample:v2

v2: Pulling from sangpil...
AWS Container Day
도커 이미지 배포
5.  도커 이미지로부터 실행
[ec2-user ~]$ docker run -p 80:80 sangpill/amazon-ecs-
sample:v2



[ec2-user...
AWS Container Day
도커 이미지 배포
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트 – 커맨드 및 스크립트 직접 수행
•  지속적 배포(CD) 툴 – 스크립트를 기존 CD 툴과 통합하여 사용
•  AWS Elastic BeansTa...
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트
•  지속적 배포(CD) 툴
•  AWS Elastic BeansTalk
•  오케스트레이션 툴
•  Amazon ECS
수행 명령어
•  # do...
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트
•  지속적 배포(CD) 툴
•  AWS Elastic BeansTalk
•  오케스트레이션 툴
•  Amazon ECS
배포의 유연성
반복 수행
...
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트
•  지속적 배포(CD) 툴
•  AWS Elastic BeansTalk
•  오케스트레이션 툴
•  Amazon ECS
도커를 실행하는 손쉬운 방...
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트
•  지속적 배포(CD) 툴
•  AWS Elastic BeansTalk
•  오케스트레이션 툴
•  Amazon ECS
클러스터 및 스케줄러
직접...
AWS Container Day
도커 실행 옵션
•  수동 / 스크립트
•  지속적 배포(CD) 툴
•  AWS Elastic BeansTalk
•  오케스트레이션 툴
•  Amazon ECS
Docker 호환성
모든 ...
AWS Container Day
컨테이너 파이프라인
AWS 환경에서 Docker 컨테이너 사용하기
AWS Container Day
컨테이너 배포 형태
기본
이미지	
  
패치	
  
IT	
  운영	
  
유틸리티	
  
AWS Container Day
컨테이너 배포 형태
기본
이미지	
  
Ruby	
  
Redis	
  
Logger	
  
IT	
  운영	
  
유틸리티	
  
패치	
  
AWS Container Day
컨테이너 배포 형태
기본
이미지	
  
개발자	
  
Ruby	
  
Redis	
  
Logger	
  
App	
  
IT	
  운영	
  
유틸리티	
  
패치	
  
AWS Container Day
컨테이너 배포 형태
기본
이미지	
  
Ruby	
  
Redis	
  
Logger	
  
App	
  
개발자	
  IT	
  운영	
  
유틸리티	
  
패치	
  
AWS Container Day
연속 배포 (Continuous Deployment)
Bucket
Amazon ECS
AWS CloudFormation
ECS Cluster
AWS Container Day
컨테이너 사용사례
AWS 환경에서 Docker 컨테이너 사용하기
AWS Container Day
컨테이너 사용 사례
•  손쉬운 애플리케이션 배포
•  애플리케이션 라이프 사이클
•  지속적 통합 (Continuous Integration)
•  지속적 배포 (Continuous D...
AWS Container Day
Q & A
AWS Container Day
Thank you
Upcoming SlideShare
Loading in …5
×

도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day

12월 14일에 열린 AWS Container Day에서 김상필 SA님 께서 발표하신 도커의 기초 ‘ 발표자료입니다.

  • Login to see the comments

도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day

  1. 1. AWS Container Day AWS Container Day [2:00 ~ 3:00] 도커의 기초, AWS 김상필 SA [3:00 ~ 3:30] Case study - 삼성전자, 송주영 선임 [3:30 ~ 3:50] 휴식시간 [3:50 ~ 4:20] Case study - Goorm IDE, 남유석 개발팀장 [4:20 ~ 4:50] Case study - VINGLE, 조휘철 Software Engineer [4:50 ~ 5:00] 휴식시간 [5:00 ~ 6:00] EC2 Container Service DeepDive AWS 김기완 SA
  2. 2. AWS Container Day 도커의 기초 김상필 솔루션즈 아키텍트 아마존웹서비스 2015년 12월 14일
  3. 3. AWS Container Day 컨테이너란? What is container?
  4. 4. AWS Container Day 컨테이너란? •  운영체제 가상화 •  프로세스 격리 •  자동화 •  이미지 기반 Server   Guest  OS   Bins/Libs   Bins/Libs   App2  App1  
  5. 5. AWS Container Day
  6. 6. AWS Container Day 손쉬운 사용, 표준화, 상호운용성을 갖춘 컨테이너 •  컨테이너는 이전부터 존재 (예 : LXC, Solaris Zones, BSD Jails) •  도커 컨테이너의 장점 : -­‐  손쉬운 사용을 위한 툴 -­‐  재사용 가능 컴포넌트 -­‐  현존하는 대부분 Linux 서버에서 구동 : 물리, 가 상, 클라우드, …
  7. 7. AWS Container Day 컨테이너 기술의 장점 Portable •  이식성 장점 •  이미지 기반 배포, 버전 관리 •  어느 곳이나 동일한 운영 환경 •  개발/테스트/운영 환경 동일 Server   Guest  OS   Bins/Libs   Bins/Libs   App2  App1  
  8. 8. AWS Container Day 컨테이너 기술의 장점 Flexible •  유연성 •  이미지 기반으로 배포되는 컨테 이너는 클린하고, 재사용 가능한 모듈화 환경 •  마이크로서비스를 통해 어플리 케이션을 작은 단위로 분할하고, 복잡성 줄이고, 신속하게 개발하 는 것을 가능하게 함 Server   Guest  OS   Bins/Libs   Bins/Libs   App2  App1  
  9. 9. AWS Container Day 컨테이너 기술의 장점 Fast •  가벼운 도커 이미지 •  신속한 개발, 빌드, 배포 과정 Server   Guest  OS   Bins/Libs   Bins/Libs   App2  App1  
  10. 10. AWS Container Day 컨테이너 기술의 장점 Efficient •  필요한 리소스만을 배포 •  OS kernel & libs 를 공유하여 사 용하기 때문에 어플리케이션이 배포하는 것만을 배포 Server   Guest  OS   Bins/Libs   Bins/Libs   App2  App1  
  11. 11. AWS Container Day +   많은 고객이 Docker를 AWS에서 구동하는 이유 •  손쉬운 배포 •  환경의 신뢰성 •  대규모 환경 관리의 용이성 •  자동화 •  분산 애플리케이션
  12. 12. AWS Container Day AWS 환경에서 Docker 컨테이너 사용하기 •  Docker on EC2 –  Do it yourself –  다양한 도커 관련 오픈소스 및 3rd party 어플리케이션 활용 •  AWS Elastic Beanstalk 사용하기 –  가장 쉽게 도커 구동하기 •  Amazon EC2 Container Service 사용하기 –  대규모 확장성, 클러스터, 스케줄링, 서비스 구동 등
  13. 13. AWS Container Day DOCKER ON EC2 기초 AWS 환경에서 Docker 컨테이너 사용하기
  14. 14. AWS Container Day 도커 주요 구성 요소 •  도커 엔진 (또는 도커) – 컨테이너를 생성 또는 실행 •  도커 컨테이너 – 도커 인스턴스 •  도커 이미지 – 컨테이너 실행, 배포를 위한 스냅샷 •  도커 파일 – 이미지 생성 시 포함할 파일, 할당할 포트, 실행할 명령 어 등을 지정 •  도커 레지스트리 – 도커 이미지의 저장소 및 배포 시스템 •  도커 허브 – 레지스트리 서비스, 도커 데몬의 기본 저장소
  15. 15. AWS Container Day Amazon Linux 인스턴스에서 도커 실행하기 1.  Amazon Linux 설치
  16. 16. AWS Container Day Amazon Linux 인스턴스에서 도커 실행하기 2.  패키지 업데이트 [ec2-user ~]$ sudo yum update –y 3.  도커(Docker) 설치 (ECS는 Docker 버전 1.5 이상 필요, 1.7.1 권고) [ec2-user ~]$ sudo yum install -y docker 4.  도커 서비스 시작 [ec2-user ~]$ sudo service docker start
 Starting cgconfig service: [ OK ]
 Starting docker: [ OK ]
  17. 17. AWS Container Day Amazon Linux 인스턴스에서 도커 실행하기 5.  ec2-user의 Docker 그룹 추가 [ec2-user ~]$ sudo usermod -a -G docker ec2-user 6.  Docker 그룹 추가 확인 (재 로그인 후) [ec2-user ~]$ docker info
 Containers: 2
 Images: 24
 Storage Driver: devicemapper
 Pool Name: docker-202:1-263460-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/ data
 …
  18. 18. AWS Container Day AWS에서 CoreOS 와 도커 실행하기 1.  CoreOS AMI 사용
  19. 19. AWS Container Day AWS에서 CoreOS 와 도커 실행하기 2.  Running CoreOS on EC2 https://coreos.com/os/docs/latest/booting-on-ec2.html 3.  Running CoreOS with AWS EC2 Container Service https://coreos.com/os/docs/latest/booting-on-ecs.html
  20. 20. AWS Container Day 도커 허브 계정 생성 (Optional)
  21. 21. AWS Container Day 도커 이미지 생성 1.  git 설치 및 예제 어플리케이션 다운로드 [ec2-user ~]$ sudo yum install -y git
 [ec2-user ~]$ git clone https://github.com/awslabs/ecs- demo-php-simple-app 2.  폴더 변경 [ec2-user ~]$ cd ecs-demo-php-simple-app
  22. 22. AWS Container Day 도커 이미지 생성 3.  Dockerfile 내용 검토 [ec2-user ecs-demo-php-simple-app]$ cat Dockerfile
 FROM ubuntu:12.04 // 기본 이미지 지정
 
 # Install dependencies
 RUN apt-get update –y // 패키지 업데이트 및 설치
 RUN apt-get install -y git curl apache2 php5 libapache2- mod-php5 php5-mcrypt php5-mysql
 
 # Install app
 RUN rm -rf /var/www/* // 소스를 Root 문서에 추가
 ADD src /var/www

  23. 23. AWS Container Day 도커 이미지 생성 3.  Dockerfile 내용 검토 (계속) # Configure apache
 RUN a2enmod rewrite
 RUN chown -R www-data:www-data /var/www
 ENV APACHE_RUN_USER www-data
 ENV APACHE_RUN_GROUP www-data
 ENV APACHE_LOG_DIR /var/log/apache2
 EXPOSE 80 // 80포트 컨테이너에 EXPOSE
 
 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND”] // 실행 •  Dockerfile  레퍼런스 -­‐  h?ps://docs.docker.com/engine/reference/builder/  
  24. 24. AWS Container Day 도커 이미지 생성 4.  도커 이미지 빌드 [ec2-user ecs-demo-php-simple-app]$ docker build -t my- dockerhub-username/amazon-ecs-sample . 5.  도커 이미지 생성 확인
 [ec2-user ecs-demo-php-simple-app]$ docker images
 
 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
 sangpill/amazon-ecs-sample latest 76e66f4acec7 38 minutes ago 261.6 MB
 ubuntu 12.04 bad926a6fb50 4 days ago 136.9 MB
  25. 25. AWS Container Day 도커 이미지 생성 6.  도커 신규 이미지 실행 [ec2-user ecs-demo-php-simple-app]$ docker run -p 80:80 my-dockerhub-username/amazon-ecs-sample
 
 ‘-p 80:80’ 옵션은 컨테이너의 EXPOSE 된 80 포트를 호스트의 80 포트에 매핑 •  Docker  run  레퍼런스 -­‐  h?ps://docs.docker.com/engine/reference/run/  
  26. 26. AWS Container Day 도커 이미지 생성 7.  도커 내 웹서비스 동작 확인
  27. 27. AWS Container Day 도커 이미지 생성 8.  도커 이미지를 도커 허브에 푸시 (Optional) [ec2-user ecs-demo-php-simple-app]$ docker login
 Username: sangpill
 Password: 
 Email: sangpill@amazon.com
 Login Succeeded
 
 [ec2-user ecs-demo-php-simple-app]$ docker info
 …
 Username: sangpill
 Registry: https://index.docker.io/v1/
  28. 28. AWS Container Day 도커 이미지 생성 8.  도커 이미지를 도커 허브에 푸시 (Optional) (계속) [ec2-user ecs-demo-php-simple-app]$ docker push my- dockerhub-username/amazon-ecs-sample
 The push refers to a repository [sangpill/amazon-ecs- sample] (len: 1) 
 b35d0a597de9: Image successfully pushed 
 …
 Digest: sha256:877ee473bda901257f1a740e78eb3fa44356ca4ce6913efcd 5361a6c5c103776
  29. 29. AWS Container Day 도커 이미지 생성 8.  도커 이미지를 도커 허브에 푸시 (Optional) (계속)
  30. 30. AWS Container Day 도커 이미지 수정 1.  컨테이너 실행 [ec2-user ecs-demo-php-simple-app]$ docker run -t -i sangpill/amazon-ecs-sample /bin/bash
 root@fde006b823db:/# 2.  컨테이너 내에서 어플리케이션 수정 root@fde006b823db:/# apt-get install -y vim
 root@fde006b823db:/# vi /var/www/index.php
 …
 수정 전 : <h1>Simple PHP App</h1> 
 수정 후 : <h1>Container Day PHP App</h1>
 …
  31. 31. AWS Container Day 도커 이미지 수정 3.  도커 이미지 커밋 [ec2-user ecs-demo-php-simple-app]$ docker commit -m "Title change" -a "Sangpill Kim" fde006b823db sangpill/ amazon-ecs-sample:v2
 e011a7a969a914cf2ede7ac6a3ca82ac59306bdd1fabe45df29e6799 9b1b8aa6
 
 [ec2-user ecs-demo-php-simple-app]$ docker images
 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
 sangpill/amazon-ecs-sample v2 e011a7a969a9 2 minutes ago 305.1 MB
 sangpill/amazon-ecs-sample latest 26fd428a79fa 3 hours ago 261.6 MB
  32. 32. AWS Container Day 도커 이미지 수정 4.  도커 이미지를 도커 허브에 푸시 (Optional) [ec2-user ecs-demo-php-simple-app]$ docker push sangpill/amazon-ecs-sample:v2
 …
 Digest: sha256:6211c350f36a7b7ca615798be39f85a7aa937e108e7ecd49f 71130f9f8f3d806 docker  commit은 간편하지만, 번거롭고 협업 시 배포 프로세스와 통합이 쉽지 않으므로 docker  build   사용  
  33. 33. AWS Container Day 도커 이미지 수정 4.  도커 이미지를 도커 허브에 푸시 (Optional)
  34. 34. AWS Container Day 도커 레지스트리 구성 옵션 •  Docker Hub – SaaS로 제공 •  Docker Registry – 오픈소스 프로젝트를 직접 구축 •  Docker Trusted Registry – 엔터프라이즈 버전 구성 •  Amazon EC2 Container Registry(ECR) – 완전 관리형 서비스
  35. 35. AWS Container Day 도커 레지스트리 구성 옵션 •  Docker Hub •  Docker Registry •  Docker Trusted Registry •  Amazon EC2 Container Registry(ECR) 지원 명령어 •  # docker search •  # docker login •  # docker push •  # docker pull 지원 기능 •  Private repositories •  Organizations and teams •  Automated Builds •  Webhooks
  36. 36. AWS Container Day 도커 레지스트리 구성 옵션 •  Docker Hub •  Docker Registry •  Docker Trusted Registry •  Amazon EC2 Container Registry(ECR) Deploying a registry server -  https://docs.docker.com/ registry/deploying/ -  도커 registry:2 로 배포 -  레지스트리 구성 config.yml
 storage:
 s3:

  37. 37. AWS Container Day 도커 레지스트리 구성 옵션 •  Docker Hub •  Docker Registry •  Docker Trusted Registry •  Amazon EC2 Container Registry(ECR) Docker Trusted Registry for AWS
  38. 38. AWS Container Day 도커 레지스트리 구성 옵션 •  Docker Hub •  Docker Registry •  Docker Trusted Registry •  Amazon EC2 Container Registry(ECR) •  완전 관리형 서비스 •  Amazon ECS 통합 •  Docker 호환 •  고가용성 및 내구성 •  팀 협업 •  간단한 워크플로우 •  접근 제어 •  암호화 •  모니터링 •  3rd 파티 통합
  39. 39. AWS Container Day 컨테이너 배포 AWS 환경에서 Docker 컨테이너 사용하기
  40. 40. AWS Container Day 도커 이미지 배포 1.  호스트 접속 7831c1c87a16:~ sangpill$ ssh -i "snoopy-virginia- key.pem" ec2-user@54.88.238.68 2.  도커 이미지 검색 (Docker Hub) [ec2-user ~]$ docker search sangpill/amazon-ecs-sample
 NAME DESCRIPTION STARS OFFICIAL AUTOMATED
 sangpill/amazon-ecs-sample 0
  41. 41. AWS Container Day 도커 이미지 배포 3.  도커 이미지 풀 [ec2-user ~]$ docker pull sangpill/amazon-ecs-sample:v2
 v2: Pulling from sangpill/amazon-ecs-sample
 …
 Status: Downloaded newer image for sangpill/amazon-ecs- sample:v2
 4.  도커 이미지 확인 [ec2-user ~]$ docker images
 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
 sangpill/amazon-ecs-sample v2 e011a7a969a9 52 minutes ago 305.1 MB
  42. 42. AWS Container Day 도커 이미지 배포 5.  도커 이미지로부터 실행 [ec2-user ~]$ docker run -p 80:80 sangpill/amazon-ecs- sample:v2
 
 [ec2-user ~]$ docker ps
 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
 7095f057b461 sangpill/amazon-ecs-sample:v2 "/bin/bash" About a minute ago Up About a minute 0.0.0.0:80->80/tcp drunk_brown
  43. 43. AWS Container Day 도커 이미지 배포
  44. 44. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 – 커맨드 및 스크립트 직접 수행 •  지속적 배포(CD) 툴 – 스크립트를 기존 CD 툴과 통합하여 사용 •  AWS Elastic BeansTalk – AWS에 Docker를 가장 쉽게 배포 •  오케스트레이션 툴 – 클러스터 및 스케줄링 •  Amazon EC2 Container Service(ECS) – 완전 관리형 서비스
  45. 45. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 •  지속적 배포(CD) 툴 •  AWS Elastic BeansTalk •  오케스트레이션 툴 •  Amazon ECS 수행 명령어 •  # docker pull •  # docker run Docker run 레퍼런스 •  Container identification •  IPC settings •  Network settings •  Restart policies •  Clean up •  Runtime resource constraints •  Runtime privilege
  46. 46. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 •  지속적 배포(CD) 툴 •  AWS Elastic BeansTalk •  오케스트레이션 툴 •  Amazon ECS 배포의 유연성 반복 수행 가시성 배포 환경의 일관성
  47. 47. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 •  지속적 배포(CD) 툴 •  AWS Elastic BeansTalk •  오케스트레이션 툴 •  Amazon ECS 도커를 실행하는 손쉬운 방법 Docker (Single) Multi-container Docker •  멀티 프로세스 어플리케이션 •  ECS를 래핑 •  관리를 단순화함
  48. 48. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 •  지속적 배포(CD) 툴 •  AWS Elastic BeansTalk •  오케스트레이션 툴 •  Amazon ECS 클러스터 및 스케줄러 직접 구성 관리 3rd party 툴 •  Kubernetes •  Mesos, Marathon, Chronos (https://github.com/awslabs/ ecs-mesos-scheduler-driver) •  Swarm
  49. 49. AWS Container Day 도커 실행 옵션 •  수동 / 스크립트 •  지속적 배포(CD) 툴 •  AWS Elastic BeansTalk •  오케스트레이션 툴 •  Amazon ECS Docker 호환성 모든 규모의 클러스터 쉽게 관리 유연한 컨테이너 배치 다른 AWS 서비스와 연동 확장 가능 규모에 따른 성능 보안
  50. 50. AWS Container Day 컨테이너 파이프라인 AWS 환경에서 Docker 컨테이너 사용하기
  51. 51. AWS Container Day 컨테이너 배포 형태 기본 이미지   패치   IT  운영   유틸리티  
  52. 52. AWS Container Day 컨테이너 배포 형태 기본 이미지   Ruby   Redis   Logger   IT  운영   유틸리티   패치  
  53. 53. AWS Container Day 컨테이너 배포 형태 기본 이미지   개발자   Ruby   Redis   Logger   App   IT  운영   유틸리티   패치  
  54. 54. AWS Container Day 컨테이너 배포 형태 기본 이미지   Ruby   Redis   Logger   App   개발자  IT  운영   유틸리티   패치  
  55. 55. AWS Container Day 연속 배포 (Continuous Deployment) Bucket Amazon ECS AWS CloudFormation ECS Cluster
  56. 56. AWS Container Day 컨테이너 사용사례 AWS 환경에서 Docker 컨테이너 사용하기
  57. 57. AWS Container Day 컨테이너 사용 사례 •  손쉬운 애플리케이션 배포 •  애플리케이션 라이프 사이클 •  지속적 통합 (Continuous Integration) •  지속적 배포 (Continuous Delivery) •  플랫폼 서비스 (PaaS) •  분산 애플리케이션 구성 •  분산 애플리케이션 확장
  58. 58. AWS Container Day Q & A
  59. 59. AWS Container Day Thank you

×