31
Docker 를 소개해드립니다 Docker의 설치와 생성 그리고 웹서버 구축까지 경성대학교 컴퓨터공학부 정 준 혁 [email protected]

Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Embed Size (px)

Citation preview

Page 1: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker를 소개해드립니다Docker의 설치와 생성 그리고 웹서버 구축까지

경성대학교 컴퓨터공학부 정 준 혁

[email protected]

Page 2: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

기존의 서버 구축 과정

Install Server OS

Install Web Server

Install DB Server

Install Source Code

Page 3: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker와 함께라면

Ship RunPack

Page 4: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

마치 화물 컨테이너 처럼…

Page 5: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

이렇게 뿅~ 넣는거죠!

Page 6: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

어떻게 가능한가?

LXCLinuX Container

Page 7: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

VM 같지 않은 너?!

Host OS Host OS

ServerServer

Hypervisor LXC in HOST OS

GuestOS

GuestOS App

AApp

CApp

B

App A

App B

일반적인 VM Docker

Page 8: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

성능은 어떤가요?

Page 9: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 동작 원리 (Like git)

Page 10: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

이미지? 컨테이너?•이미지 •서비스 운영에 필요한 프로그램, 코드 등을 묶은 형태

•컨테이너 •이미지를 실행한 상태

실행

Page 11: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

이미지? 컨테이너?

Base

변경사항

Page 12: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 설치•Cent OS 6

sudo  yum  install  docker-­‐io

•Cent OS 7 / RHELsudo  yum  install  docker

•Ubuntu / Debiansudo  apt-­‐get  install  docker.io

Page 13: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker Service 시작•서비스 시작

sudo  service  docker  start

•부팅시 자동 시작 활성화sudo  chkconfig  docker  on

•도커가 잘 설치되었는지 확인 (버전 체크가 되는지)docker  version

Page 14: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 1•이미지 검색

docker  search  {{QUERY}}

•함께 해보는 Docker - 1 - Ubuntu 이미지를 검색해봅시다

Page 15: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Official Container 확인법

Page 16: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 2•컨테이너의 설치

docker  pull  {{QUERY}}

•함께 해보는 Docker - 2 - Ubuntu 컨테이너를 설치해봅시다

Page 17: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 3•컨테이너 내 프로그램 실행하기

docker  run  {{CONTAINER_NAME}}  {{APP_NAME}}  {{APP_ARGS}}…

•함께 해보는 Docker - 3 - Ubuntu 컨테이너 내의 echo 명령어를 통해 “Hello Docker”를 출력해봅시다

Page 18: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 3•함께 해보는 Docker - 4 - Ubuntu 컨테이너 내 apt-get 명령어를 통해 웹서버 apache를 설치해봅니다

docker  run  ubuntu  apt-­‐get  -­‐y  install  apache2

Page 19: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 4•컨테이너의 ID 확인하기 (실행되고 있는 컨테이너 확인)

docker  ps  -­‐l

•함께 해보는 Docker - 5 - 자신이 설치한 Ubuntu 컨테이너의 ID를 확인해봅시다

•컨테이너의 ID 확인하기 (설치 된 컨테이너 확인)docker  images

Page 20: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 5•컨테이너의 변경사항을 저장하기

docker  commit  {{CONTAINER_ID}}  {{REPO_NAME}}

•함께 해보는 Docker - 6 - Ubuntu 컨테이너의 변경사항을 ubuntu/apache라는 이름으로 저장해봅시다

Page 21: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

ㅌ•컨테이너 내의 bash 실행하기

docker  -­‐i  -­‐t  {{CONTAINER}}  /bin/bash

•함께 해보는 Docker - 7 - ubuntu/apache 컨테이너 내의 bash를 실행하여 봅시다

Page 22: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 7•컨테이너를 종료하지 않고 빠져나오기

CTRL  +  P  and  CTRL  +  Q

•함께 해보는 Docker - 8 - ubuntu/apache 컨테이너에서 빠져나와봅시다

Page 23: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 8•다시 해당 컨테이너로 돌아가기

docker  attach  —sig-­‐proxy=false  {{CONTAINER_ID}}

•함께 해보는 Docker - 9 - ubuntu/apache 컨테이너로 다시 들어가봅시다 (ps 명령어로 ID 확인)

Page 24: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 9•컨테이너 종료하기

exit

•함께 해보는 Docker - 10 - ubuntu/apache 컨테이너를 종료하고, 종료되었는지 확인해봅시다(ps명령어)

Page 25: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 10

•함께 해보는 Docker - 12 - ubuntu/apache 컨테이너 내의 apache2 서버를 실행해봅시다

•함께 해보는 Docker - 13 - 다음 명령어를 통해 서버가 잘 돌고있는지 확인해봅시다

netstat  -­‐anp  |  grep  “LISTEN”

Page 26: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 10

•함께 해보는 Docker - 14 - 브라우저를 통해 Apache2서버가 잘 실행되고 있는지 확인해봅시다 (localhost)

Page 27: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 11•컨테이너를 데몬형태로 실행하기

docker  -­‐d  {{CONTAINER_NAME}}  {{APP_NAME}}  {{APP_ARGS}}

•함께 해보는 Docker - 15 - ubuntu/apache 컨테이너를 데몬형태로 실행하여, 잘 실행되고 있는지 확인해봅니다

Page 28: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 12•데몬형태로 실행중인 컨테이너 종료하기

docker  stop  {{CONTAINER_ID}}

•함께 해보는 Docker - 16 - ubuntu/apache 컨테이너 데몬을 종료하고 확인해봅니다

•데몬형태로 실행중인 컨테이너 강제 종료하기docker  kill  {{CONTAINER_ID}}

Page 29: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 12•함께 해보는 Docker - 17 •ubuntu/apache 컨테이너에 80:80포트를 할당하고, 데몬으로 apache2 서버를 실행해봅시다 •아파치 서버는 우분투에서 다음 명령어로 시작할 수 있습니다.

•시작 후, ps 명령어를 통해 잘 동작하는 지 확인 후, localhost를 확인해봅니다

/usr/sbin/apache2ctl  -­‐D  FOREGROUND

docker  -­‐d  -­‐p  80:80  ubuntu/apache  /usr/sbin/apache2ctl  -­‐D  FOREGROUND

Page 30: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

Docker의 간단한 사용법 - 13•현재 실행중인 컨테이너에 대한 정보 보기

docker  inspect  {{CONTAINER_ID}}

•함께 해보는 Docker - 18 - ubuntu/apache 컨테이너의 ID를 확인 후, 정보를 봅니다 (ps로 ID 확인)

docker  inspect  3706dc0e3a9c

Page 31: Docker의 기초 - Docker 설치와 생성 그리고 웹서버 구축까지

감사합니다!