SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
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=bodyonl
y#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
Container
http://www.slideshare.net/ienvyou/dockerv2
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:latest

MAINTAINER docker@millky.com

RUN yum -y install wget tar

ENV JAVA_VERSION 8u25

ENV JAVA_BUILD b17

RUN 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.rpm

RUN rpm -Uvh jdk-$JAVA_VERSION-linux-x64.rpm

RUN mkdir web

WORKDIR web

ENV TOMCAT_MAJOR 8

ENV TOMCAT_VERSION 8.0.15

ENV TOMCAT_TGZ_URL http://mirror.apache-kr.org/tomcat/tomcat-
$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz

RUN curl -SL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz && tar -xvf tomcat.tar.gz

RUN 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.war

EXPOSE 8080

CMD ["/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 Mesos
http://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
감사합니다.

Más contenido relacionado

La actualidad más candente

[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinuxOpen Source Consulting
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration GuideJi-Woong Choi
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
[Hello world 오픈세미나]vertx&socket io
[Hello world 오픈세미나]vertx&socket io[Hello world 오픈세미나]vertx&socket io
[Hello world 오픈세미나]vertx&socket ioNAVER D2
 
형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영창훈 정
 
Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용지원 이
 
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Circulus
 
Gradle & IntelliJ & Vert.x
Gradle & IntelliJ & Vert.xGradle & IntelliJ & Vert.x
Gradle & IntelliJ & Vert.xKwnaghwan Cho
 
[오픈소스컨설팅] RPM 만들기
[오픈소스컨설팅] RPM 만들기[오픈소스컨설팅] RPM 만들기
[오픈소스컨설팅] RPM 만들기Ji-Woong Choi
 
[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용NAVER D2
 
Node.js
Node.jsNode.js
Node.jsymtech
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong Choi
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅승엽 신
 
Vert.x
Vert.x Vert.x
Vert.x ymtech
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
Node.js 시작하기
Node.js 시작하기Node.js 시작하기
Node.js 시작하기Huey Park
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
[세미나] Vagrant 이지원
[세미나] Vagrant 이지원[세미나] Vagrant 이지원
[세미나] Vagrant 이지원지원 이
 

La actualidad más candente (20)

[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
[Hello world 오픈세미나]vertx&socket io
[Hello world 오픈세미나]vertx&socket io[Hello world 오픈세미나]vertx&socket io
[Hello world 오픈세미나]vertx&socket io
 
형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영형태소 분석기를 적용한 elasticsearch 운영
형태소 분석기를 적용한 elasticsearch 운영
 
Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용
 
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초
 
Gradle & IntelliJ & Vert.x
Gradle & IntelliJ & Vert.xGradle & IntelliJ & Vert.x
Gradle & IntelliJ & Vert.x
 
[오픈소스컨설팅] RPM 만들기
[오픈소스컨설팅] RPM 만들기[오픈소스컨설팅] RPM 만들기
[오픈소스컨설팅] RPM 만들기
 
[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용[1A7]Ansible의이해와활용
[1A7]Ansible의이해와활용
 
Node.js
Node.jsNode.js
Node.js
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
 
Vert.x
Vert.x Vert.x
Vert.x
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
Node.js 시작하기
Node.js 시작하기Node.js 시작하기
Node.js 시작하기
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
[세미나] Vagrant 이지원
[세미나] Vagrant 이지원[세미나] Vagrant 이지원
[세미나] Vagrant 이지원
 

Destacado

자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)DK Lee
 
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)DK Lee
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
DK Lee
 
Starpl 20111012 스타플5를_만들기_시작하며
Starpl 20111012 스타플5를_만들기_시작하며Starpl 20111012 스타플5를_만들기_시작하며
Starpl 20111012 스타플5를_만들기_시작하며DK Lee
 
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)DK Lee
 
SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기Myung Woon Oh
 
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)DK Lee
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)DK Lee
 
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획DK Lee
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)DK Lee
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)DK Lee
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)DK Lee
 
20131217 html5
20131217 html520131217 html5
20131217 html5DK Lee
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)DK Lee
 
스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기 스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기 라한사 아
 
Apache http component
Apache http componentApache http component
Apache http component흥래 김
 
8주 dom & event basic
8주  dom & event basic8주  dom & event basic
8주 dom & event basic지수 윤
 
7주 JavaScript Part2
7주 JavaScript Part27주 JavaScript Part2
7주 JavaScript Part2지수 윤
 
Clojure HTTP API 서버 구현을 위한 라이브러리
Clojure HTTP API 서버 구현을 위한 라이브러리Clojure HTTP API 서버 구현을 위한 라이브러리
Clojure HTTP API 서버 구현을 위한 라이브러리Eunmin Kim
 
4주 CSS Layout
4주 CSS Layout4주 CSS Layout
4주 CSS Layout지수 윤
 

Destacado (20)

자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
 
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

 
Starpl 20111012 스타플5를_만들기_시작하며
Starpl 20111012 스타플5를_만들기_시작하며Starpl 20111012 스타플5를_만들기_시작하며
Starpl 20111012 스타플5를_만들기_시작하며
 
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
 
SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기SpringMVC 전체 흐름 알아보기
SpringMVC 전체 흐름 알아보기
 
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
 
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
 
20131217 html5
20131217 html520131217 html5
20131217 html5
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
 
스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기 스프링 프레임워크로 블로그 개발하기
스프링 프레임워크로 블로그 개발하기
 
Apache http component
Apache http componentApache http component
Apache http component
 
8주 dom & event basic
8주  dom & event basic8주  dom & event basic
8주 dom & event basic
 
7주 JavaScript Part2
7주 JavaScript Part27주 JavaScript Part2
7주 JavaScript Part2
 
Clojure HTTP API 서버 구현을 위한 라이브러리
Clojure HTTP API 서버 구현을 위한 라이브러리Clojure HTTP API 서버 구현을 위한 라이브러리
Clojure HTTP API 서버 구현을 위한 라이브러리
 
4주 CSS Layout
4주 CSS Layout4주 CSS Layout
4주 CSS Layout
 

Similar a 20141229 dklee docker

XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Steve Shim
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
ARTIK 710 IoT class 02
ARTIK 710 IoT class 02ARTIK 710 IoT class 02
ARTIK 710 IoT class 02정출 김
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개충섭 김
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3Ji-Woong Choi
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014Gruter
 
[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdf[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdfJo Hoon
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Nalee Jang
 
Kubernetes on GCP
Kubernetes on GCPKubernetes on GCP
Kubernetes on GCPDaegeun Kim
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Nalee Jang
 
Solaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudSolaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudsuk kim
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 

Similar a 20141229 dklee docker (20)

XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
ARTIK 710 IoT class 02
ARTIK 710 IoT class 02ARTIK 710 IoT class 02
ARTIK 710 IoT class 02
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdf[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdf
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
 
Kubernetes on GCP
Kubernetes on GCPKubernetes on GCP
Kubernetes on GCP
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
 
Solaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloudSolaris 11 network virtualization & Server Virtualization for cloud
Solaris 11 network virtualization & Server Virtualization for cloud
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 

20141229 dklee docker

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