4. 2. 개요 (1/8)
가상화란?
- 컴퓨터 리소스를 추상화하는 광범위한 기술.
- 전가상화, 반가상화가 존재, 가상화 방식에 따른 Hosted Hypervisor, bare-metal Hypervisor가
존재.
- 일반적으로 사용하는 가상화 기술은 x86 프로세서를 가상화 하는 방식을 사용.(Intel, AMD 등)
- 각 OS의 X86 CPU 명령어 집합(Instruction Set)의 Operation이 다르기때문에 명령어를 가상화
(instruction
set virtualization) 하는 방법, 또는 바이너리를 변환하는 방법이라고 할 수 있다.
- CPU VT(Virtualizaion Technology)기능을 지원하지 않으면 사용할수가 없음. (BIOS에서 가능
여부 확인)
- Cloud 플랫폼이 대중화되면서 AWS, Openstack등 가상화는 이제 다양한 서버 인프라 구성의
핵심기술.
10. 2. 개요 (7/8)
Docker는 가상화가 아닌 Container 기반이다.
program -> run -> process
image -> run -> container
11. 2. 개요 (8/8)
Docker는 Go언어로 작성되었다.
(http://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-decide-to-write-docker-in-go),
초기버전은 LXC(LinuX Container) 기반으로 개발되었으며,
Linux에서만 동작하였으나, 현재는 자체 가상머신 docker-machine을 개발하여
다양한 OS (osx, windows)에서도 사용가능하다. (docker-machine = Linux 가상머신)
Docker Architecture 구성도
12. 3. 설치방법
1. Toolbox 다운로드: https://www.docker.com/products/docker-toolbox
Tool Box에 포함된 패키지
- Docker CLI client for running Docker Engine to create images and containers
- Docker Machine so you can run Docker Engine commands from Mac OS X terminals
- Docker Compose for running the docker-compose command
- Kitematic, the Docker GUI
- the Docker QuickStart shell preconfigured for a Docker command-line environment
- Oracle VM VirtualBox
Because the Docker Engine daemon uses Linux-specific kernel features, you can’t run Docker Engine
natively in Windows (or OS X)
(결국 Docker는 Linux 위에서 돌아간다.)
2. 설치 가이드 문서
Windows : https://docs.docker.com/toolbox/toolbox_install_windows/ (64bit 윈도우7 or higher)
OSX : https://docs.docker.com/toolbox/toolbox_install_mac/
13. 4. 사용방법 (1/9)
1. Docker Machine 생성
Linux의 경우 Docker Machine이 필요없으므로 이 부분은 생략 가능하다.
- Toolbox설치 후 Docker QuickStart Terminal을 이용하면 Default로 생성된다.
- command line으로 생성할경우
$ docker-machine create --driver virtualbox name
2. Docker Machine 접속
- Docker Machine ssh 접속
$ docker-machine ssh name
14. 4. 사용방법 (2/9)
3. Docker Image 생성 및 조회
Docker Container를 실행하기 위해 Image 생성.
- Docker Registry에 등록된 Image를 받는 방법
$ docker pull jenkins
- Docker Image 조회
$ docker images
15. 4. 사용방법 (3/9)
4. Docker Container 실행 및 조회
- Docker Container 실행
$ docker run -u jenkins -p 8080:8080 -p 50000:50000 -v /home/service/jenkins jenkins
- Docker Container 조회
$ docker ps -a
- Docker Container 시작
$ docker start container-id
- Docker Container 종료
$ docker stop container-id
16. 4. 사용방법 (4/9)
5. Docker Image 원격 저장소 등록
Docker Cloud에 가입한 뒤 원격 저장소를 사용할 수 있다.
기본적으로 Github 사용법과 유사하다.
(https://cloud.docker.com/_/dashboard/onboarding)
- Docker Container Commit으로 Snapshot 저장
운영중인 Container를 Snapshot을 뜬 후 Image로 저장.
$ docker commit container-id
-Docker 원격저장소 인증
$ docker login