39
도커 학습과 Boot2docker PYRASIS.COM 이재홍 2015.2.12 Docker Seoul Meetup #3 / February 14, 2015

도커 학습과 Boot2Docker

  • Upload
    pyrasis

  • View
    3.062

  • Download
    5

Embed Size (px)

Citation preview

Page 1: 도커 학습과 Boot2Docker

도커 학습과 Boot2docker

PYRASIS.COM 이재홍

2015.2.12

Docker Seoul Meetup #3 / February 14, 2015

Page 2: 도커 학습과 Boot2Docker

이재홍

문서 이용 조건

2

교육 등의 비영리 목적으로만 사용해야 합니다. 사내 교육은 상관 없습니다. 장소 임대료, 회비, 참가비 등을 받는다면 영리 목적에 해당하므로 이 문서를 이용할 수 없습니다.

Page 3: 도커 학습과 Boot2Docker

이재홍

만든 사람 소개

3

이재홍

웹사이트: http://pyrasis.com

저서: 가장 빨리 만나는 도커(Docker) 아마존 웹 서비스를 다루는 기술 윈도우 프로젝트 필수 유틸리티:

Subversion, Trac, CruiseControl.NET

가장 빨리 만나는 도커의 책 내용은 모두 웹사이트에 공개되어 있습니다.

Page 4: 도커 학습과 Boot2Docker
Page 5: 도커 학습과 Boot2Docker

이재홍

도커는 오픈소스 컨테이너 프로젝트

도커란 무엇인가? 도커

5

Page 6: 도커 학습과 Boot2Docker

이재홍

리눅스 커널의

컨테이너 기능 사용

도커와 컨테이너 도커

6

Page 7: 도커 학습과 Boot2Docker

이재홍

왜 컨테이너 기능을 사용하지?

도커와 컨테이너 도커

7

Page 8: 도커 학습과 Boot2Docker

이재홍

가상화는 각종

성능 손실이 발생하기 때문

도커와 컨테이너 도커

8

Page 9: 도커 학습과 Boot2Docker

이재홍

그래서 리눅스 커널의

Cgroups, namespaces 등을

사용하여 가상 공간을 생성

도커와 컨테이너 도커

9

Page 10: 도커 학습과 Boot2Docker

이재홍

도커는 아직 리눅스 전용이다

도커와 컨테이너 도커

10

Page 11: 도커 학습과 Boot2Docker

이재홍

응? Windows, Mac OS X에서도

쓸 수 있던데…

도커와 컨테이너 도커

11

Page 12: 도커 학습과 Boot2Docker

Boot2Docker

Page 13: 도커 학습과 Boot2Docker

이재홍

Boot2Docker는 Windows, Mac OS X에서

도커를 사용할 수 있게 해주는 도구

Boot2Docker Boot2Docker

13

Page 14: 도커 학습과 Boot2Docker

이재홍

그건 어떻게 가능하죠?

Boot2Docker Boot2Docker

14

Page 15: 도커 학습과 Boot2Docker

이재홍

일단 Windows와 Mac OS X 커널은

리눅스의 cgroups, namespaces 같은

기능을 제공하지 않음

Boot2Docker Boot2Docker

15

Page 16: 도커 학습과 Boot2Docker

이재홍

Boot2Docker는 VirtualBox

가상 머신 안에 리눅스를 설치하고

도커를 실행

Boot2Docker Boot2Docker

16

애플리케이션 A 애플리케이션 B

실행 파일/라이브러리 실행 파일/라이브러리

Windows, Mac OS X

컴퓨터

도커 엔진

VirtualBox Boot2Docker

Page 17: 도커 학습과 Boot2Docker

도커 학습과 Boot2Docker

Page 18: 도커 학습과 Boot2Docker

이재홍

컴퓨터 데스크탑 환경에서

Windows와 Mac 사용자가 대다수

Boot2Docker 도커 학습과 Boot2Docker

18

Page 19: 도커 학습과 Boot2Docker

이재홍

자연스럽게

Boot2Docker를 설치하게 됨

Boot2Docker 도커 학습과 Boot2Docker

19

Page 20: 도커 학습과 Boot2Docker

이재홍

Windows에서 Boot2Docker 도커 학습과 Boot2Docker

20

Windows에서는 디렉터리 구조가 확연히 달라서 별도의

환경이라는 걸 쉽게 알 수 있음

Page 21: 도커 학습과 Boot2Docker

이재홍

문제는 Mac OS X

Boot2Docker 도커 학습과 Boot2Docker

21

Page 22: 도커 학습과 Boot2Docker

이재홍

Mac OS X에서 Boot2Docker 도커 학습과 Boot2Docker

22

Mac OS X에서는 Mac OS X의 디렉터리가 그대로 표시됨

Page 23: 도커 학습과 Boot2Docker

이재홍

Mac OS X에서는 도커가

바로 실행된다고 착각하기 쉬움

Boot2Docker 도커 학습과 Boot2Docker

23

(도커 클라이언트만 네이티브 바이너리, 도커 서버는 가상 머신 안에서 실행)

Page 24: 도커 학습과 Boot2Docker

이재홍

하지만 VirtualBox를 실행해보면 Boot2Docker 가상 머신이 표시됨

VirtualBox 안의 Boot2Docker 도커 학습과 Boot2Docker

24

Page 25: 도커 학습과 Boot2Docker

이재홍

Boot2Docker에서 컨테이너를 띄우고

호스트(Mac OS X) IP 주소로 접근

자주 착각하는 부분 도커 학습과 Boot2Docker

25

Page 26: 도커 학습과 Boot2Docker

이재홍

boot2docker ip 명령으로 가상 머신의 IP 주소를 알아내야 함

Windows에서는 Git Bash에서 다음 명령 실행 $ boot2docker ip The VM's Host only interface IP address is: 192.168.59.103

Boot2Docker의 컨테이너로 접속할 때는 항상 가상

머신의 IP 주소를 사용

Boot2Docker ip 주소 확인 도커 학습과 Boot2Docker

26

Page 27: 도커 학습과 Boot2Docker

이재홍

Mac OS X의 디렉터리를

데이터 볼륨으로 연결 시도

자주 착각하는 부분 도커 학습과 Boot2Docker

27

Page 28: 도커 학습과 Boot2Docker

이재홍

이 부분은 요구하는 사람이 많아서 Boot2Docker 기능으로 추가됨

$ docker run -it -v /Users/pyrasis/data:/data ubuntu:14.04 /bin/bash

Mac OS X: /Users/<사용자 계정> 아래의 디렉터리에 연결

Windows: /c/Users/<사용자 계정> 아래의 디렉터리에 연결

Boot2Docker에서 데이터 볼륨 연결 도커 학습과 Boot2Docker

28

Mac OS X

$ docker run -it -v /c/Users/pyrasis/data:/data ubuntu:14.04 /bin/bash

Windows

Page 29: 도커 학습과 Boot2Docker

결론

Page 30: 도커 학습과 Boot2Docker

이재홍

결론 결론

Boot2Docker는 도커를 처음 접하는 사람한테는

그다지 적합하지 않음

Page 31: 도커 학습과 Boot2Docker

이재홍

결론 결론

특히 Mac OS X에서는 각종 개념을 착각하기가 쉬움

Page 32: 도커 학습과 Boot2Docker

이재홍

결론 결론

도커를 처음 접하는 사람들은 VirtualBox, Vmware에 리눅스를 설치하고

도커를 학습하는걸 권장

Page 33: 도커 학습과 Boot2Docker

이재홍

결론 결론

리눅스 서버에 SSH로 연결해서 실습하는 것도 군더더기 없이 정확한 방법

Page 34: 도커 학습과 Boot2Docker

향후 전망

Page 35: 도커 학습과 Boot2Docker

이재홍

Windows와 도커 향후 전망

Windows 서버에서 cgroups, namespaces와 같은

API 지원 예정 (Windows 실행 파일 지원)

Page 36: 도커 학습과 Boot2Docker

이재홍

Windows와 도커 향후 전망

Windows와 리눅스는 많은 부분이 차이가 있으므로 새로 학습해야 할지도…

Page 37: 도커 학습과 Boot2Docker

이재홍

Mac OS X와 도커 향후 전망

Mac OS X의 Mach 커널에서 Cgroups, namespaces와 같은

API 지원은 아직… http://en.wikipedia.org/wiki/Comparison_of_operating_system_kernels

Page 38: 도커 학습과 Boot2Docker

이재홍

도커에 대한 자세한 내용은...

38

도커에 대한 자세한 내용은 가장 빨리 만나는 도커를 참조해주세요. 책 내용은 모두 웹사이트에 공개되어 있습니다.

http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book

Docker 개인 저장소 구축하기

Dockerfile 상세 설명

Docker로 애플리케이션 배포하기

Docker 모니터링하기

Amazon Web Services에서 Docker 사용하기

Google Cloud Platform에서 Docker 사용하기

Microsoft Azure에서 Docker 사용하기

Docker Hub 사용하기

Docker Remote API 사용하기

CoreOS 사용하기

Docker로 워드프레스 블로그 구축하기(MySQL)

Docker로 Ruby on Rails 애플리케이션 구축하기(MySQL, PostgreSQL)

Docker로 Django 애플리케이션 구축하기(Oracle, MySQL, PostgreSQL)

Docker 활용 시나리오

Docker 명령어 및 옵션 목록

Page 39: 도커 학습과 Boot2Docker

감사합니다