Upload
jun-jung
View
33
Download
0
Embed Size (px)
Citation preview
Docker를 소개해드립니다Docker의 설치와 생성 그리고 웹서버 구축까지
경성대학교 컴퓨터공학부 정 준 혁
기존의 서버 구축 과정
Install Server OS
Install Web Server
Install DB Server
Install Source Code
Docker와 함께라면
Ship RunPack
마치 화물 컨테이너 처럼…
이렇게 뿅~ 넣는거죠!
어떻게 가능한가?
LXCLinuX Container
VM 같지 않은 너?!
Host OS Host OS
ServerServer
Hypervisor LXC in HOST OS
GuestOS
GuestOS App
AApp
CApp
B
App A
App B
일반적인 VM Docker
성능은 어떤가요?
Docker의 동작 원리 (Like git)
이미지? 컨테이너?•이미지 •서비스 운영에 필요한 프로그램, 코드 등을 묶은 형태
•컨테이너 •이미지를 실행한 상태
실행
이미지? 컨테이너?
Base
변경사항
Docker의 설치•Cent OS 6
sudo yum install docker-‐io
•Cent OS 7 / RHELsudo yum install docker
•Ubuntu / Debiansudo apt-‐get install docker.io
Docker Service 시작•서비스 시작
sudo service docker start
•부팅시 자동 시작 활성화sudo chkconfig docker on
•도커가 잘 설치되었는지 확인 (버전 체크가 되는지)docker version
Docker의 간단한 사용법 - 1•이미지 검색
docker search {{QUERY}}
•함께 해보는 Docker - 1 - Ubuntu 이미지를 검색해봅시다
Official Container 확인법
Docker의 간단한 사용법 - 2•컨테이너의 설치
docker pull {{QUERY}}
•함께 해보는 Docker - 2 - Ubuntu 컨테이너를 설치해봅시다
Docker의 간단한 사용법 - 3•컨테이너 내 프로그램 실행하기
docker run {{CONTAINER_NAME}} {{APP_NAME}} {{APP_ARGS}}…
•함께 해보는 Docker - 3 - Ubuntu 컨테이너 내의 echo 명령어를 통해 “Hello Docker”를 출력해봅시다
Docker의 간단한 사용법 - 3•함께 해보는 Docker - 4 - Ubuntu 컨테이너 내 apt-get 명령어를 통해 웹서버 apache를 설치해봅니다
docker run ubuntu apt-‐get -‐y install apache2
Docker의 간단한 사용법 - 4•컨테이너의 ID 확인하기 (실행되고 있는 컨테이너 확인)
docker ps -‐l
•함께 해보는 Docker - 5 - 자신이 설치한 Ubuntu 컨테이너의 ID를 확인해봅시다
•컨테이너의 ID 확인하기 (설치 된 컨테이너 확인)docker images
Docker의 간단한 사용법 - 5•컨테이너의 변경사항을 저장하기
docker commit {{CONTAINER_ID}} {{REPO_NAME}}
•함께 해보는 Docker - 6 - Ubuntu 컨테이너의 변경사항을 ubuntu/apache라는 이름으로 저장해봅시다
ㅌ•컨테이너 내의 bash 실행하기
docker -‐i -‐t {{CONTAINER}} /bin/bash
•함께 해보는 Docker - 7 - ubuntu/apache 컨테이너 내의 bash를 실행하여 봅시다
Docker의 간단한 사용법 - 7•컨테이너를 종료하지 않고 빠져나오기
CTRL + P and CTRL + Q
•함께 해보는 Docker - 8 - ubuntu/apache 컨테이너에서 빠져나와봅시다
Docker의 간단한 사용법 - 8•다시 해당 컨테이너로 돌아가기
docker attach —sig-‐proxy=false {{CONTAINER_ID}}
•함께 해보는 Docker - 9 - ubuntu/apache 컨테이너로 다시 들어가봅시다 (ps 명령어로 ID 확인)
Docker의 간단한 사용법 - 9•컨테이너 종료하기
exit
•함께 해보는 Docker - 10 - ubuntu/apache 컨테이너를 종료하고, 종료되었는지 확인해봅시다(ps명령어)
Docker의 간단한 사용법 - 10
•함께 해보는 Docker - 12 - ubuntu/apache 컨테이너 내의 apache2 서버를 실행해봅시다
•함께 해보는 Docker - 13 - 다음 명령어를 통해 서버가 잘 돌고있는지 확인해봅시다
netstat -‐anp | grep “LISTEN”
Docker의 간단한 사용법 - 10
•함께 해보는 Docker - 14 - 브라우저를 통해 Apache2서버가 잘 실행되고 있는지 확인해봅시다 (localhost)
Docker의 간단한 사용법 - 11•컨테이너를 데몬형태로 실행하기
docker -‐d {{CONTAINER_NAME}} {{APP_NAME}} {{APP_ARGS}}
•함께 해보는 Docker - 15 - ubuntu/apache 컨테이너를 데몬형태로 실행하여, 잘 실행되고 있는지 확인해봅니다
Docker의 간단한 사용법 - 12•데몬형태로 실행중인 컨테이너 종료하기
docker stop {{CONTAINER_ID}}
•함께 해보는 Docker - 16 - ubuntu/apache 컨테이너 데몬을 종료하고 확인해봅니다
•데몬형태로 실행중인 컨테이너 강제 종료하기docker kill {{CONTAINER_ID}}
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
Docker의 간단한 사용법 - 13•현재 실행중인 컨테이너에 대한 정보 보기
docker inspect {{CONTAINER_ID}}
•함께 해보는 Docker - 18 - ubuntu/apache 컨테이너의 ID를 확인 후, 정보를 봅니다 (ps로 ID 확인)
docker inspect 3706dc0e3a9c
감사합니다!