20141229 dklee docker

20
Docker 서버, 가상화 그 다음은? 2014. 12. 29 DK.Lee

Transcript of 20141229 dklee docker

Page 1: 20141229 dklee docker

Docker서버, 가상화 그 다음은?

2014. 12. 29 DK.Lee

Page 2: 20141229 dklee docker

Server? Computer?http://ko.wikipedia.org/wiki/서버

IDC (집적된 공간)

1명이 ?00대 이상 관리.

랙서버, 블레이드 서버

1U = 1.75 inch x 2.54 cm = 4.445 cm

Page 3: 20141229 dklee docker

서버의 내부Dell R630 소개 동영상 : http://www1.ap.dell.com/content/topics/topic.aspx/global/products/video/en/poweredge_r630_rack_server?c=kr&l=ko&s=bsd&cs=04&~ck=mn&~lt=bodyonly#ooid=ZiMmxpbzqhpzYaybg1l0YCltKWPR92zx

Intel E5-2699 : http://ark.intel.com/products/81061/Intel-Xeon-Processor-E5-2699-v3-45M-Cache-2_30-GHz

Dell R620 가격 : http://www.dell.com/kr/business/p/poweredge-r620/pd

서버 내부 : http://www.kbench.com/?q=node/122282

Page 4: 20141229 dklee docker

서버는 이렇게 좋은데…

여기에 WAS하나만 올려두면?

자원의 낭비가…

Page 5: 20141229 dklee docker

Virtual Server

서버의 고도화가 이루어지며 효율적인 활용 방안을…

http://www.slideshare.net/ienvyou/dockerv2/7

Page 6: 20141229 dklee docker

가상 서버 이중화서버 수를 줄여 장애 포인트를 줄인다. 이중화 삼중화 한다.

더 이상 하드웨어 장애를 신경쓰지 않아도 된다.

http://www.apstore.co.kr/서버가상화를-위한-bcdr-구성/

Page 7: 20141229 dklee docker

실서버와 구분도 안됨!

구분이 안되서 좋기도 하고.

나쁘기도. 하고..

OS 위의 OS

설치,설치 -> 세팅,세팅

하드웨어를 신경 안쓰게 되었지만…

http://www.slideshare.net/KeonAhn/puppet-17299792

Page 8: 20141229 dklee docker

Docker

https://www.docker.com/

2013년 3월 출시, 2014년 6월 1.0 공개. 12월 1.4.1 릴리즈

개념 자체는 오래된 것임 ex : LXC (Linux Container). 2008

처음엔 LXC 포장 (리눅스 위에서만 동작)

0.9x 버전부터는 libcontainer를 사용

http://www.slideshare.net/pyrasis/docker-docker-38286477

추천 : http://pyrasis.com/Docker/Docker-HOWTO

Page 9: 20141229 dklee docker

Container

http://www.slideshare.net/ienvyou/dockerv2

Page 10: 20141229 dklee docker

Docker is...

Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

Docker는 거의 어디에서나 실행되는 경량이면서 Portable하고, 자급자족인 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진입니다.

https://www.docker.com/whatisdocker/

추천 : http://deview.kr/2013/detail.nhn?topicSeq=45

성능도 중요한 요소이지만. 배포 편의성등도 중요한 요소임

Page 11: 20141229 dklee docker

Docker

IMAGE = ISO파일CONTAINER = LiveCD로 부팅

Virtual Machine

전가상화

반가상화(Paravirtualization)

VM VS Docker

Page 12: 20141229 dklee docker

OSX 설치 및 기본요것 따라하시면 됩니다 : https://docs.docker.com/installation/mac/

https://github.com/boot2docker/osx-installer/releases

$ boot2docker init

$ boot2docker start

$ $(boot2docker shellinit)

http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter20/28

$ docker run --rm -i -t -p 80:80 nginx

https://registry.hub.docker.com/_/nginx/

Page 13: 20141229 dklee docker

DockerfileFROM centos:latestMAINTAINER [email protected] yum -y install wget tarENV JAVA_VERSION 8u25ENV JAVA_BUILD b17RUN curl -L -o jdk-$JAVA_VERSION-linux-x64.rpm \ -H 'Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com; oraclelicense=accept-securebackup-cookie' \ http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-$JAVA_BUILD/jdk-$JAVA_VERSION-linux-x64.rpmRUN rpm -Uvh jdk-$JAVA_VERSION-linux-x64.rpmRUN mkdir webWORKDIR webENV TOMCAT_MAJOR 8ENV TOMCAT_VERSION 8.0.15ENV TOMCAT_TGZ_URL http://mirror.apache-kr.org/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gzRUN curl -SL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz && tar -xvf tomcat.tar.gzRUN ls -all \ && mv apache-tomcat-$TOMCAT_VERSION/ tomcat \ && mv /web/tomcat/webapps/ROOT /web/tomcat/webapps/ROOT2 ADD ./build/libs/Millky-3.0.0-SNAPSHOT.war /web/tomcat/webapps/ROOT.warEXPOSE 8080CMD ["/web/tomcat/bin/catalina.sh", "run"]

Page 14: 20141229 dklee docker

실습$ docker build -t 'spring-boot-millky3-img' .

$ docker run --name=millky3 -p 8080:8080 -e JAVA_OPTS='-Dspring.profiles.active=dev -Xms1024m -Xmx2048m' -d spring-boot-millky3-img

$ docker logs -f millky3

docker images (-a)

docker ps (-a)

docker stop millky3

docker rm millky3

docker rm -f `docker ps -a -q`

Page 15: 20141229 dklee docker

서버 & 좀 더 편하게..

서버에서 체크아웃 받아서 run.sh를 수행하면..

http://www.fig.sh/index.html

https://github.com/RORLabNew/rorla/blob/master/README.md

https://github.com/docker/docker/issues/9459

Page 16: 20141229 dklee docker

쉽게 배포 가능인프라 스트럭쳐가 코드로…

간단한 프로그래밍을 통한 쉬운 구성이 가능하다.

생성된 이미지 재사용 가능

Docker 레지스트리 서버 (도커 이미지 저장소)

https://registry.hub.docker.com/

이거면 된걸까?

쉽게 생성, 소멸, 재활용, 복제.. 등이 가능하다.. 그렇다면?

Page 17: 20141229 dklee docker

Apache Mesoshttp://mesos.apache.org/

동적 자원 할당

Docker 도 지원

http://mimul.com/pebble/default/2013/10/27/1382885361083.html

https://github.com/mesosphere/marathon

http://www.yongbok.net/blog/apache-mesos-cluster-resource-management/

Page 18: 20141229 dklee docker

서버, 가상화 그 다음은?하드웨어는 점점더 집적율이 올라가고 있습니다. 고사양 서버로 WAS하나 돌리기에는 유휴자원이 너무 많습니다.

고사양이 된 서버들은 한가지 일만 처리하는 것이 아니라다양한 작업이 상황에 따라 스위칭 되며 작업할 수 있게됩니다.마치 OS가 CPU타임을 분할, 공유해 멀티태스킹을 하듯이…

생각보다 빠르게 실무에 적용 될 것으로 보입니다.(=>되고 있음)

가상화가 어느순간 눈앞에 있는것처럼 ^^;

Docker에 대한 좋은 문서들이 많아.. “약”만 팔아봤습니다 ㅎ

서버, 가상화 다음은 Docker가 아닐 수도 있습니다!Rocket 일지도 모릅니다 ^^; (https://coreos.com/blog/rocket/)

Page 19: 20141229 dklee docker

기타 참고 주소개념잡기 : http://bcho.tistory.com/805

도커 101 : http://www.itworld.co.kr/news/87971

추천 : http://forum.docker.co.kr/

http://usefulparadigm.com/2014/02/10/building-devenv-on-osx-using-docker/

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/

http://deview.kr/2014/session?seq=20

https://speakerdeck.com/kroisse/aws-cloud-taekwon-dockerreul-hwalyonghan-seobiseu-baepo-seumateuseuteodieseoyi-sayongsarye

http://forum.docker.co.kr/t/docker-docker-howto/68

http://www.slideshare.net/Docker/dockercon-benjaminhindman140613161347phpapp01-37589064

Page 20: 20141229 dklee docker

감사합니다.