Post on 19-Jul-2015
Docker서버, 가상화 그 다음은?
2014. 12. 29 DK.Lee
Server? Computer?http://ko.wikipedia.org/wiki/서버
IDC (집적된 공간)
1명이 ?00대 이상 관리.
랙서버, 블레이드 서버
1U = 1.75 inch x 2.54 cm = 4.445 cm
서버의 내부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
서버는 이렇게 좋은데…
여기에 WAS하나만 올려두면?
자원의 낭비가…
Virtual Server
서버의 고도화가 이루어지며 효율적인 활용 방안을…
http://www.slideshare.net/ienvyou/dockerv2/7
가상 서버 이중화서버 수를 줄여 장애 포인트를 줄인다. 이중화 삼중화 한다.
더 이상 하드웨어 장애를 신경쓰지 않아도 된다.
http://www.apstore.co.kr/서버가상화를-위한-bcdr-구성/
실서버와 구분도 안됨!
구분이 안되서 좋기도 하고.
나쁘기도. 하고..
OS 위의 OS
설치,설치 -> 세팅,세팅
하드웨어를 신경 안쓰게 되었지만…
http://www.slideshare.net/KeonAhn/puppet-17299792
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
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
성능도 중요한 요소이지만. 배포 편의성등도 중요한 요소임
Docker
IMAGE = ISO파일CONTAINER = LiveCD로 부팅
Virtual Machine
전가상화
반가상화(Paravirtualization)
VM VS 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/
DockerfileFROM centos:latestMAINTAINER docker@millky.comRUN 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"]
실습$ 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`
서버 & 좀 더 편하게..
서버에서 체크아웃 받아서 run.sh를 수행하면..
http://www.fig.sh/index.html
https://github.com/RORLabNew/rorla/blob/master/README.md
https://github.com/docker/docker/issues/9459
쉽게 배포 가능인프라 스트럭쳐가 코드로…
간단한 프로그래밍을 통한 쉬운 구성이 가능하다.
생성된 이미지 재사용 가능
Docker 레지스트리 서버 (도커 이미지 저장소)
https://registry.hub.docker.com/
이거면 된걸까?
쉽게 생성, 소멸, 재활용, 복제.. 등이 가능하다.. 그렇다면?
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/
서버, 가상화 그 다음은?하드웨어는 점점더 집적율이 올라가고 있습니다. 고사양 서버로 WAS하나 돌리기에는 유휴자원이 너무 많습니다.
고사양이 된 서버들은 한가지 일만 처리하는 것이 아니라다양한 작업이 상황에 따라 스위칭 되며 작업할 수 있게됩니다.마치 OS가 CPU타임을 분할, 공유해 멀티태스킹을 하듯이…
생각보다 빠르게 실무에 적용 될 것으로 보입니다.(=>되고 있음)
가상화가 어느순간 눈앞에 있는것처럼 ^^;
Docker에 대한 좋은 문서들이 많아.. “약”만 팔아봤습니다 ㅎ
서버, 가상화 다음은 Docker가 아닐 수도 있습니다!Rocket 일지도 모릅니다 ^^; (https://coreos.com/blog/rocket/)
기타 참고 주소개념잡기 : 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
감사합니다.