Download - 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day
![Page 1: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/1.jpg)
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
![Page 2: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/2.jpg)
AWS Container Day
도커의 기초 김상필 솔루션즈 아키텍트 아마존웹서비스 2015년 12월 14일
![Page 3: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/3.jpg)
AWS Container Day
컨테이너란? What is container?
![Page 4: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/4.jpg)
AWS Container Day
컨테이너란?
• 운영체제 가상화
• 프로세스 격리
• 자동화 • 이미지 기반
Server
Guest OS
Bins/Libs Bins/Libs
App2 App1
![Page 5: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/5.jpg)
AWS Container Day
![Page 6: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/6.jpg)
AWS Container Day
손쉬운 사용, 표준화, 상호운용성을 갖춘 컨테이너
• 컨테이너는 이전부터 존재 (예 : LXC, Solaris Zones, BSD Jails)
• 도커 컨테이너의 장점 :
-‐ 손쉬운 사용을 위한 툴 -‐ 재사용 가능 컴포넌트 -‐ 현존하는 대부분 Linux 서버에서 구동 : 물리, 가상, 클라우드, …
![Page 7: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/7.jpg)
AWS Container Day
컨테이너 기술의 장점
Portable
• 이식성 장점 • 이미지 기반 배포, 버전 관리 • 어느 곳이나 동일한 운영 환경 • 개발/테스트/운영 환경 동일
Server
Guest OS
Bins/Libs Bins/Libs
App2 App1
![Page 8: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/8.jpg)
AWS Container Day
컨테이너 기술의 장점
Flexible • 유연성 • 이미지 기반으로 배포되는 컨테
이너는 클린하고, 재사용 가능한 모듈화 환경
• 마이크로서비스를 통해 어플리케이션을 작은 단위로 분할하고, 복잡성 줄이고, 신속하게 개발하는 것을 가능하게 함
Server
Guest OS
Bins/Libs Bins/Libs
App2 App1
![Page 9: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/9.jpg)
AWS Container Day
컨테이너 기술의 장점
Fast
• 가벼운 도커 이미지 • 신속한 개발, 빌드, 배포 과정
Server
Guest OS
Bins/Libs Bins/Libs
App2 App1
![Page 10: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/10.jpg)
AWS Container Day
컨테이너 기술의 장점
Efficient
• 필요한 리소스만을 배포 • OS kernel & libs 를 공유하여 사
용하기 때문에 어플리케이션이 배포하는 것만을 배포
Server
Guest OS
Bins/Libs Bins/Libs
App2 App1
![Page 11: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/11.jpg)
AWS Container Day
+
많은 고객이 Docker를 AWS에서 구동하는 이유
• 손쉬운 배포
• 환경의 신뢰성
• 대규모 환경 관리의 용이성
• 자동화
• 분산 애플리케이션
![Page 12: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/12.jpg)
AWS Container Day
AWS 환경에서 Docker 컨테이너 사용하기
• Docker on EC2 – Do it yourself – 다양한 도커 관련 오픈소스 및 3rd party 어플리케이션 활용
• AWS Elastic Beanstalk 사용하기 – 가장 쉽게 도커 구동하기
• Amazon EC2 Container Service 사용하기 – 대규모 확장성, 클러스터, 스케줄링, 서비스 구동 등
![Page 13: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/13.jpg)
AWS Container Day
DOCKER ON EC2 기초 AWS 환경에서 Docker 컨테이너 사용하기
![Page 14: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/14.jpg)
AWS Container Day
도커 주요 구성 요소
• 도커 엔진 (또는 도커) – 컨테이너를 생성 또는 실행
• 도커 컨테이너 – 도커 인스턴스
• 도커 이미지 – 컨테이너 실행, 배포를 위한 스냅샷
• 도커 파일 – 이미지 생성 시 포함할 파일, 할당할 포트, 실행할 명령
어 등을 지정
• 도커 레지스트리 – 도커 이미지의 저장소 및 배포 시스템
• 도커 허브 – 레지스트리 서비스, 도커 데몬의 기본 저장소
![Page 15: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/15.jpg)
AWS Container Day
Amazon Linux 인스턴스에서 도커 실행하기
1. Amazon Linux 설치
![Page 16: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/16.jpg)
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 ]
![Page 17: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/17.jpg)
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 …
![Page 18: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/18.jpg)
AWS Container Day
AWS에서 CoreOS 와 도커 실행하기
1. CoreOS AMI 사용
![Page 19: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/19.jpg)
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
![Page 20: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/20.jpg)
AWS Container Day
도커 허브 계정 생성 (Optional)
![Page 21: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/21.jpg)
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
![Page 22: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/22.jpg)
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
![Page 23: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/23.jpg)
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/
![Page 24: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/24.jpg)
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
![Page 25: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/25.jpg)
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/
![Page 26: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/26.jpg)
AWS Container Day
도커 이미지 생성
7. 도커 내 웹서비스 동작 확인
![Page 27: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/27.jpg)
AWS Container Day
도커 이미지 생성
8. 도커 이미지를 도커 허브에 푸시 (Optional) [ec2-user ecs-demo-php-simple-app]$ docker login Username: sangpill Password: Email: [email protected] Login Succeeded [ec2-user ecs-demo-php-simple-app]$ docker info … Username: sangpill Registry: https://index.docker.io/v1/
![Page 28: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/28.jpg)
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:877ee473bda901257f1a740e78eb3fa44356ca4ce6913efcd5361a6c5c103776
![Page 29: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/29.jpg)
AWS Container Day
도커 이미지 생성
8. 도커 이미지를 도커 허브에 푸시 (Optional) (계속)
![Page 30: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/30.jpg)
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> …
![Page 31: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/31.jpg)
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 e011a7a969a914cf2ede7ac6a3ca82ac59306bdd1fabe45df29e67999b1b8aa6 [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
![Page 32: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/32.jpg)
AWS Container Day
도커 이미지 수정
4. 도커 이미지를 도커 허브에 푸시 (Optional) [ec2-user ecs-demo-php-simple-app]$ docker push sangpill/amazon-ecs-sample:v2 … Digest: sha256:6211c350f36a7b7ca615798be39f85a7aa937e108e7ecd49f71130f9f8f3d806
docker commit은 간편하지만, 번거롭고 협업 시 배포 프로세스와 통합이 쉽지 않으므로 docker build 사용
![Page 33: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/33.jpg)
AWS Container Day
도커 이미지 수정
4. 도커 이미지를 도커 허브에 푸시 (Optional)
![Page 34: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/34.jpg)
AWS Container Day
도커 레지스트리 구성 옵션
• Docker Hub – SaaS로 제공
• Docker Registry – 오픈소스 프로젝트를 직접 구축
• Docker Trusted Registry – 엔터프라이즈 버전 구성
• Amazon EC2 Container Registry(ECR) – 완전 관리형 서비스
![Page 35: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/35.jpg)
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
![Page 36: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/36.jpg)
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:
![Page 37: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/37.jpg)
AWS Container Day
도커 레지스트리 구성 옵션
• Docker Hub
• Docker Registry
• Docker Trusted Registry
• Amazon EC2 Container Registry(ECR)
Docker Trusted Registry for AWS
![Page 38: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/38.jpg)
AWS Container Day
도커 레지스트리 구성 옵션
• Docker Hub
• Docker Registry
• Docker Trusted Registry
• Amazon EC2 Container Registry(ECR)
• 완전 관리형 서비스 • Amazon ECS 통합 • Docker 호환 • 고가용성 및 내구성 • 팀 협업 • 간단한 워크플로우 • 접근 제어
• 암호화
• 모니터링
• 3rd 파티 통합
![Page 39: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/39.jpg)
AWS Container Day
컨테이너 배포 AWS 환경에서 Docker 컨테이너 사용하기
![Page 40: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/40.jpg)
AWS Container Day
도커 이미지 배포
1. 호스트 접속 7831c1c87a16:~ sangpill$ ssh -i "snoopy-virginia-key.pem" [email protected]
2. 도커 이미지 검색 (Docker Hub) [ec2-user ~]$ docker search sangpill/amazon-ecs-sample NAME DESCRIPTION STARS OFFICIAL AUTOMATED sangpill/amazon-ecs-sample 0
![Page 41: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/41.jpg)
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
![Page 42: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/42.jpg)
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
![Page 43: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/43.jpg)
AWS Container Day
도커 이미지 배포
![Page 44: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/44.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트 – 커맨드 및 스크립트 직접 수행
• 지속적 배포(CD) 툴 – 스크립트를 기존 CD 툴과 통합하여 사용
• AWS Elastic BeansTalk – AWS에 Docker를 가장 쉽게 배포
• 오케스트레이션 툴 – 클러스터 및 스케줄링
• Amazon EC2 Container Service(ECS) – 완전 관리형 서비스
![Page 45: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/45.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트
• 지속적 배포(CD) 툴
• AWS Elastic BeansTalk
• 오케스트레이션 툴
• Amazon ECS
수행 명령어• # docker pull • # docker runDocker run 레퍼런스 • Container identification • IPC settings • Network settings • Restart policies • Clean up • Runtime resource constraints • Runtime privilege
![Page 46: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/46.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트
• 지속적 배포(CD) 툴
• AWS Elastic BeansTalk
• 오케스트레이션 툴
• Amazon ECS
배포의 유연성
반복 수행
가시성
배포 환경의 일관성
![Page 47: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/47.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트
• 지속적 배포(CD) 툴
• AWS Elastic BeansTalk
• 오케스트레이션 툴
• Amazon ECS
도커를 실행하는 손쉬운 방법 Docker (Single) Multi-container Docker • 멀티 프로세스 어플리케이션 • ECS를 래핑 • 관리를 단순화함
![Page 48: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/48.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트
• 지속적 배포(CD) 툴
• AWS Elastic BeansTalk
• 오케스트레이션 툴
• Amazon ECS
클러스터 및 스케줄러 직접 구성 관리 3rd party 툴 • Kubernetes • Mesos, Marathon, Chronos
(https://github.com/awslabs/ecs-mesos-scheduler-driver)
• Swarm
![Page 49: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/49.jpg)
AWS Container Day
도커 실행 옵션
• 수동 / 스크립트
• 지속적 배포(CD) 툴
• AWS Elastic BeansTalk
• 오케스트레이션 툴
• Amazon ECS
Docker 호환성 모든 규모의 클러스터 쉽게 관리 유연한 컨테이너 배치 다른 AWS 서비스와 연동 확장 가능 규모에 따른 성능 보안
![Page 50: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/50.jpg)
AWS Container Day
컨테이너 파이프라인 AWS 환경에서 Docker 컨테이너 사용하기
![Page 51: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/51.jpg)
AWS Container Day
컨테이너 배포 형태
기본 이미지
패치
IT 운영
유틸리티
![Page 52: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/52.jpg)
AWS Container Day
컨테이너 배포 형태
기본 이미지
Ruby
Redis
Logger
IT 운영
유틸리티
패치
![Page 53: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/53.jpg)
AWS Container Day
컨테이너 배포 형태
기본 이미지
개발자
Ruby
Redis
Logger
App
IT 운영
유틸리티
패치
![Page 54: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/54.jpg)
AWS Container Day
컨테이너 배포 형태
기본 이미지
Ruby
Redis
Logger
App
개발자 IT 운영
유틸리티
패치
![Page 55: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/55.jpg)
AWS Container Day
연속 배포 (Continuous Deployment)
Bucket Amazon ECS
AWS CloudFormation
ECS Cluster
![Page 56: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/56.jpg)
AWS Container Day
컨테이너 사용사례 AWS 환경에서 Docker 컨테이너 사용하기
![Page 57: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/57.jpg)
AWS Container Day
컨테이너 사용 사례
• 손쉬운 애플리케이션 배포
• 애플리케이션 라이프 사이클
• 지속적 통합 (Continuous Integration)
• 지속적 배포 (Continuous Delivery)
• 플랫폼 서비스 (PaaS)
• 분산 애플리케이션 구성
• 분산 애플리케이션 확장
![Page 58: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/58.jpg)
AWS Container Day
Q & A
![Page 59: 도커의 기초 - 김상필 솔루션즈 아키텍트 :: AWS Container Day](https://reader031.vdocuments.site/reader031/viewer/2022021317/586f79ab1a28ab10258b7037/html5/thumbnails/59.jpg)
AWS Container Day
Thank you