enterprise docker

36
Enterprise Docker PA팀/황상철, 2015.326

Upload: jieun-lee

Post on 06-Jan-2017

9.131 views

Category:

Technology


0 download

TRANSCRIPT

Enterprise DockerPA팀/황상철, 2015.326

Agenda• 도커는 무엇인가

• 도커의 형제들

• 도커와 친구들

• 도커의 경쟁자

• d4 프로젝트

도커는 무엇인가 Introductions to Docker

도커(Docker)

리눅스컨테이너 기술을 이용해 어플리케이션 패키징,배포를 지원하는 오픈소스 프로젝트

* 경량, 가상화

도커(Docker)

PyCon2013에서 Solomon Hykes의 ‘Hello World’ 데모를 통해 처음 공개

* The future of Linux containers

$ docker run busybox echo ‘Hello World’

docker run busy box echo ‘Hello World’• 로컬에 busybox 이미지 확인

• 없으면 dockerhub에서 다운로드

• busybox 이미지로 새 컨테이너 생성

• 컨테이너 실행

• TTY로 ‘Hello World’ 출력

• 출력된 결과를 유닉스 소켓을 통해 클라이언트로 전송

1억 다운로드

https://blog.docker.com/2015/01/docker-project-2014-a-whirlwind-year-in-review/

특징1: 사용하기 쉽다

리눅스 컨테이너는 소개된지 10년이 지난 기술이지만 설정이 복잡하고 사용하기 어려워 널리 사용되지 못했음.

특징2: 가볍다

VM에 비해 이미지 파일 크기가 작아서 빠르게 이미지를 만들고 실행할수 있다.

도커 아키텍처

Docker Host OS

리눅스 커널버전 3.8.0x86_64 이상으로 Device Mapper가 설치된 환경

• Ubuntu, CentOS, RHEL

• CoreOS

• Debian, SUSE, Fedora, etc

도커의 형제들 Docker Ecosystems

Docker Hub

도커 이미지를 공유하는 공개 저장소. github 계정으로 사용가능. 검색 지원.

공식 이미지 100, 공개 이미지 45,324

https://hub.docker.com

Docker Registry

비공개 도커 이미지 저장소를 만들수 있게 해주는 오픈소스.

도커 컨테이너로 실행, 인증기능 X

https://github.com/docker-registry

Swarm

도커 클러스터를 구축해준다. 베타

https://github.com/docker/swarm

Docker Compos

복잡한 어플리케이션을 도커로 실행할때 여러 컨테이너를 docker-compose.yml로 정의하고 한번에 실행한다.

https://github.com/docker/compose

docker-compose.ymlweb:

build: .

links:

- db

ports:

- "8000:8000"

db:

image: postgres

KITEMATIC

맥에서 도커 컨테이너를 쉽게 만들수 있도록 해주는 UI 도구

https://kitematic.com

docker machine

PC,클라우드 서버,가상서버를 도커 호스트로 구축해준다.

https://github.com/docker/machine

도커와 친구들 Docker Opensources

Panamax

도커 컨테이너 관리도구

• RoR, CoreOS, github 기반

• Template 개념, 편리한 UI

http://panamax.io

Panamax

Panamax

spotify/helios

도커 이미지,컨테이너 라이프사이클 관리

• Java, CLI

• Job 단위로 처리, 스케쥴링 X

https://github.com/spotify/helios

spotify/helios

masterclient docker host #1agent

docker host #2agent

docker host #nagent

zk#1

zk#2 zk#3

kuberntes

멀티 호스트 기반의 컨테이너 어플리케이션 관리 시스템

• go, GCE만 지원

• 모니터링,네트워킹,스케쥴러 지원

http://kubernetes.io

CoreOS

Docker 호스트에 특화된 리눅스

• 최소화된 메모리 사용(40%)

• systemd, etcd, fleet

• CoreUpdate(상용)

https://coreos.com/

도커의 경쟁자 Docker Competeter

• OpenVZ(openvz.org)

• Imctfy(google/Imctfy)

• Warden(cloudfoundry/warden)

coreos/rocket

• 컨테이너 이미지,런타임,디스커버리

d4 Project Docker Infra Service

Architecture

Client Server Docker Hosts

d4-ui

d4-logs

d4-api docker-host #1

docker-host #2

docker-host #3registry

Page Flow

login

main image����������� ������������������  search New����������� ������������������  service New����������� ������������������  container

Service����������� ������������������  list

Container����������� ������������������  listService

New����������� ������������������  template

Container����������� ������������������  status

Container����������� ������������������  logs

Alpha release

2015.4.10