저자는 데이터 분석 환경을 쉽게 설치할 수 있도록 R와 파이썬 등 데이터 분석에 필요한 모든 소프트웨어를 설치한 리눅스 환경을 datascienceschool/rpython
라는 이름의 도커 이미지로 만들어 도커 허브(docker hub)라고 하는 웹사이트에 올려놓았다.
datascienceschool/rpython
은 리눅스 환경에서 R 혹은 파이썬을 사용하여 데이터 분석을 하는데 필요한 모든 소프트웨어 요소들을 포함하고 있기 때문에 별도의 복잡한 설치 과정 없이 바로 데이터 분석을 시작할 수 있다.
datascienceschool/rpython
도커 이미지를 다운로드 받아서 설치해가 위해서는 우선 도커 툴박스를 설치하고 도커 퀵스타트 터미널(Docker Quickstart Terminal, 이하 도커 터미널로 부른다.)을 실행해야 한다.
도커 툴박스가 정상적으로 설치된 경우, 도커 터미널을 실행하면 다음과 같은 화면이 뜰 것이다.
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
user@PC MINGW64 ~
$
이 화면에서 다음과 같이 입력한다. 이 때 가장 앞의 달러표시($)는 터미널의 프롬프트(prompt)를 뜻하는 것으로 사용자가 입력하는 것이 아니다.
$ docker pull datascienceschool/rpython:latest
이 명령을 실행하면 도커 이미지를 다운로드 받기 시작한다. 네트워크 상태에 따라 다운로드에 약 10분 ~ 20분이 소요될 수 있다. 다음과 같은 화면이 나타나면 다운로드가 완료된 것이다.
그림: 도커 이미지 다운로드 화면
이미지를 정상적으로 다운로드 하였는지 확인하기 위해 다음과 같이 docker images
명령으로 현재 존재하는 도커 이미지 목록을 출력한다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
datascienceschool/rpython latest ce2aabd3c3d0 1 minutes ago 11.54 GB
목록에 datascienceschool/rpython 가 나타났다면 정상적으로 다운로드 된 것이다. 도커 이미지 다운로드 후의 전체 모습은 다음과 같다.
그림: 도커 이미지 다운로드 후의 상태
이제 분석 환경을 담고 있는 datascienceschool/rpython 이미지를 실행해 보자. 다음 명령을 실행한다. (마찬가지로 달러 기호까지는 프롬프트 부분이므로 사용자가 입력하는 부분이 아니다. 달러 기호 뒤의 명령어를 입력한다.)
$ docker run -Pit --name rpython -p 8888:8888 -p 8787:8787 -p 6006:6006 -p 8022:22 datascienceschool/rpython
위 명령의 의미는 다음과 같다.
docker run
-Pit
옵션 -p
옵션 정상적으로 동작하면 프롬프트가 다음과 같이 바뀌는 것을 볼 수 있다. 여기에서 dockeruser
는 도커 컨테이너안의 사용자 이름이고 306d4d3d002b
는 도커 컨테이너 이름이다. 컨테이너 이름은 사용할 때마다 계속 달라질 수 있다.
dockeruser@306d4d3d002b:~$
만약 위의 명령을 실행했는데 다음과 같은 오류 메세지가 나온다면 이미 docker run
을 한 번 실행했기 때문이다.
Error response from daemon: Conflict. The name "/rpython" is already in use by container
이 경우에는 docker start rpython
을 실행해야 한다. 도커 명령에 대한 자세한 설명은 다음 절에 나온다.
그림: 도커 컨테이너 실행 이후의 상태
자 이제 다시 정리해 보자. 여기가지 제대로 따라왔다면 여러분은
들어온 것이다.
이제 컨테이서에서 ps
명령을 실행하여 이 컨테이너 안에서 무슨 프로세스가 가동되고 있는지 살펴보자.
dockeruser@306d4d3d002b:~$ ps x
PID TTY STAT TIME COMMAND
16 ? Sl 0:24 /home/dockeruser/anaconda2/bin/python /home/dockeruser/anaconda2/bin/jupyter-notebook --port=8888 --no-browser --ip=0.0.0.0
17 ? Sl 0:00 /usr/lib/rstudio-server/bin/rserver
61 ? S 0:00 /bin/bash
468 ? R+ 0:00 ps x
위 프로세스 목록에서 jupyter-notebook 이란 이름의 프로세스가 돌아가고 있는 것을 볼 수 있다. 우리가 분석에 사용하고자 하는 것이 바로 이 주피터 노트북이다.
주피터 노트북은 웹 브라우저에서 R 또는 파이썬 등을 실행 시킬 수 있는 다중 언어 실행 환경이다. 주피터 노트북을 사용하려면 호스트 컴퓨터(윈도우즈나 매킨토시)에서 웹 브라우저를 띄운 다음 주소창에 다음 주소를 입력한다
만약 자신의 컴퓨터에서 만들어진 가상 머신의 IP 주소가 192.168.99.100 이 아닌 경우에는 해당 주소를 사용해야 한다.
정상적으로 작동한다면 다음과 같이 주피터 노트북 홈페이지가 나타난다.
그림: 주피터 노트북 실행 화면
datascienceschool/rpython
컨테이너 안에는 R과 대부분의 통계 분석용 R 패키지들이 이미 설치되어 있으므로 사용자가 따로 설치할 필요가 없다. 또한 RStudio(서버 버전)라고 하는 R용 통합 개발 환경도 설치되어 있다. RStudio를 실행하려면 호스트(윈도우즈나 매킨토시)에서 웹 브라우저를 시작하고 다음 주소를 입력한다
정상적으로 작동한다면 다음과 같이 RStudio 로그인 화면이 나타난다.
그림: RStudio 로그인 화면
로그인 화면에서 다음 정보를 입력하여 로그인한다. 이 로그인 정보는 datascienceschool/rpython
컨테이너 생성시에 고정된 것이므로 바꿀 수 없다.
dockeruser
dockeruserpass
정상적으로 로그인하면 다음과 같은 RStudio 화면이 나타난다. 이 상태에서 R을 사용하면 된다.
그림: RStudio 실행 화면
datascienceschoo/rpython
컨테이너에는 데이터 분석에 관한 다양한 샘플 데이터를 다운로드 받을 수 있는 스크립트가 있다. 이 스크립트를 실행하여 데이터를 다운로드 받으려면 rpython 도커 컨테이너 내에서 다음과 같이 실행한다.
dockeruser@306d4d3d002b:~$ cd data
dockeruser@306d4d3d002b:~$ source ./download_data.sh