작성자: admin 작성일시: 2016-04-07 21:30:03 조회수: 4680 다운로드: 53
카테고리: 개발/운용 환경 태그목록: Docker

datascienceschool/rpython 설치 및 실행

데이터 사이언스 스쿨에서는 분석 환경의 설치를 돕기 위해 datascienceschool/rpython라는 도커 이미지를 구현하여 도커 허브에 올려놓았다.

datascienceschool/rpython은 리눅스 환경에서 R 혹은 Python 을 사용하여 데이터 분석을 하는데 필요한 모든 소프트웨어 요소들을 포함하고 있기 때문에 별도의 복잡한 설치 과정 없이 바로 데이터 분석을 시작할 수 있다.

도커를 설치하고 사용하는 방법에 대해서는 다음 노트북을 참조한다.

datascienceschool/rpython 다운로드

datascienceschool/rpython 도커 이미지를 다운로드 받아서 설치해가 위해서는 우선 도커 터미널(Docker Quickstart Terminal, 이하 도커 터미널로 부른다.)을 실행해야 한다.

Docker Toolbox가 정상적으로 설치된 경우, 도커 터미널을 실행하면 다음과 같은 화면이 뜰 것이다.

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ 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@joel-PC MINGW64 ~
$

이 화면에서 다음과 같이 입력한다. 이 때 가장 앞의 달러표시($)는 터미널의 프롬프트(prompt)를 뜻하는 것으로 사용자가 입력하는 것이 아니다.

$ docker pull datascienceschool/rpython:latest

이 명령을 실행하면 도커 이미지를 다운로드 받기 시작한다. 전체 이미지의 크기가 7G정도이므로 네트워크 상태에 따라 약 10분 ~ 20분이 소요될 수 있다. 다음과 같은 화면이 나타나면 다운로드가 완료된 것이다.

그림: datascienceschool/rpython 다운로드

이미지를 정상적으로 다운로드 하였는지 확인하기 위해 다음과 같이 docker images 명령으로 현재 존재하는 도커 이미지 목록을 출력한다.

$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED              SIZE
datascienceschool/rpython   latest              ce2aabd3c3d0        1 minutes ago        11.54 GB

목록에 datascienceschool/rpython 가 나타났다면 정상적으로 다운로드 된 것이다.

도커 이미지 다운로드 후의 전체 모습은 다음과 같다.

datascienceschool/rpython 컨테이너 실행

이제 분석 환경을 담고 있는 datascienceschool/rpython 이미지를 실행해 보자. 다음 명령을 실행한다. (마찬가지로 달러 기호까지는 프롬프트 부분이므로 사용자가 입력하는 부분이 아니다. 달러 기호 뒤의 명령어를 입력한다.)

$ docker run -Pit --name rpython -p 8888:8888 -p 8787:8787 -p 6006:6006 datascienceschool/rpython

정상적으로 동작하면 프롬프트가 다음과 같이 바뀌는 것을 볼 수 있다. 여기에서 dockeruser 는 도커 컨테이너안의 사용자 이름이고 306d4d3d002b는 도커 컨테이너 이름이다. 컨테이너 이름은 사용할 때마다 계속 달라질 수 있다.

dockeruser@306d4d3d002b:~$

도커 컨테이너 실행 이후의 전체 모습은 다음과 같다.

자 이제 다시 정리해 보자. 여기가지 제대로 따라왔다면 여러분은

  • 여러분 실제 컴퓨터의 윈도우즈 운영체제 (호스트) 안의
  • Oracle VM VirtualBox 가상 머신의 boot2docker 운영체제 (가상 머신) 안의
  • 도커 datascienceschool/rpython 컨테이너의 우분투 리눅스 운영체제 (도커 컨테이너) 안으로

들어온 것이다.

Jupyter Notebook 사용

ps 명령을 사용하여 이 컨테이너 안에서 무슨 프로세스가 가동되고 있는지 살펴보자

dockeruser@306d4d3d002b:~$ ps x
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /usr/bin/tini -- /bin/bash .docker-entrypoint.sh
    6 ?        S      0:00 /bin/bash .docker-entrypoint.sh
   10 ?        Ss     0:00 /home/dockeruser/anaconda2/bin/python /home/dockeruser/anaconda2/bin/supervisord --user=dockeruser
   11 ?        S      0:00 /bin/bash
   22 ?        S      0:00 /home/dockeruser/anaconda2/bin/python /home/dockeruser/anaconda2/bin/jupyter-notebook --port=8888 --no-browser --ip=0.0.0.0
   23 ?        Sl     0:00 /usr/lib/rstudio-server/bin/rserver
   55 ?        R+     0:00 ps x

위 프로세스 목록에서 jupyter-notebook 이라는 프로세스가 돌아가고 있는 것을 볼 수 있다. 우리가 분석에 사용하고자 하는 실제 환경이 바로 이 주피터 노트북(jupyter-notebook)이다.

주피터 노트북은 웹 브라우저에서 R/Python 등을 실행 시킬 수 있는 다중 언어 실행 환경이다. 호스트(윈도우즈나 매킨토시)에서 웹 브라우저를 시작하고 다음 주소를 입력한다

만약 자신의 컴퓨터에서 만들어진 Oracle VM VirtualBox 가상 머신의 IP 주소가 192.168.99.100 이 아닌 경우에는 해당 주소를 사용한다.

정상적으로 작동한다면 다음과 같이 주피터 노트북 홈페이지가 나타난다.

그림: 주피터 노트북 실행 화면

R과 RStudio 사용

datascienceschool/rpython 컨테이너 안에는 R과 대부분의 통계 분석용 R 패키지들이 이미 설치되어 있으므로 사용자가 따로 설치할 필요가 없다. 또한 RStudio(서버 버전)라고 하는 R용 통합 개발 환경도 설치되어 있다. RStudio를 실행하려면 호스트(윈도우즈나 매킨토시)에서 웹 브라우저를 시작하고 다음 주소를 입력한다

만약 자신의 컴퓨터에서 만들어진 Oracle VM VirtualBox 가상 머신의 IP 주소가 192.168.99.100 이 아닌 경우에는 해당 주소를 사용한다.

정상적으로 작동한다면 다음과 같이 RStudio 로그인 화면이 나타난다.

로그인 화면에서 다음 정보를 입력하여 로그인한다. 이 로그인 정보는 datascienceschool/rpython 컨테이너 생성시에 고정된 것이므로 바꿀 수 없다.

  • Username : dockeruser
  • Password : dockeruserpass

정상적으로 로그인하면 다음과 같은 RStudio 화면이 나타난다. 이 상태에서 R을 사용하면 된다.

샘플 데이터 다운로드

rpython 컨테이너에는 데이터 분석에 관한 다양한 샘플 데이터를 다운로드 받을 수 있는 스크립트가 있다. 이 스크립트를 실행하여 데이터를 다운로드 받으려면 rpython 도커 컨테이너 내에서 다음과 같이 실행한다.

dockeruser@306d4d3d002b:~$ cd data
dockeruser@306d4d3d002b:~$ source ./download_data.sh

질문/덧글

사용자에 의해 삭제되었습니다. kang*** 2016년 6월 10일 11:38 오후

사용자에 의해 삭제되었습니다.

도커 컨테이너 실행 오류에 관해 질문드립니다. guts*** 2016년 6월 14일 9:10 오후

저는 우분투 14.04를 사용하고있습니다.

오늘 업데이트된 datascienceschool/rpython:latest 이미지를 다운로드한 후, "docker run ~~" 을 실행했을때,

"FATA[0000] Error response from daemon: Cannot create container with more than 127 parents." 라는 에러가 발생하였습니다.

검색을 해봤을 때에 마땅한 해결책을 찾지 못하여 해결방안을 알고계신지 질문드립니다 ^^

답변: 도커 컨테이너 실행 오류에 관해 질문드립니다. 관리자 2016년 6월 16일 3:50 오후

docker info 로 버전을 확인하신 후 버전 업그레이드를 하셔야 합니다.

docker image다운 관련 질문 minj*** 2016년 9월 16일 11:44 오전

기존에 사용하던 컨터이너가 안잡히고 이상하여, docker rmi 구문을 이용하여 기존 image를 지우고 새로 다운을 받았는데요.
모둔 값이 pull complete라고 뜨지 않았는데, 다 다운된것처럼 종료되었습니다.

그리고 나서 docker images 를 처보면 아래와 같이 보입니다.

Repository Tag Image ID Created Size
datascienceschool/rpython latest ada190b7ff2f 9 days age 7.702GB
datascienceschool/rpython <none> ada190b7ff2f 9 days age 7.702GB

image를 지우고 다시 다운을 받아야하는 부분일까요?

그리고 docker quick start 를 실행할때 , 예전에는 그런 문구가 없었던 것으로 기억되는데 아래와 같은 문구가 같이 뜹니다.
이부분도 문제 없는 부분일까요?
"Started machines may have new IP addresses. You may need to re-run the 'docker-machine env' command.
Regenerate TLS machine certs? warning : this is irreversible. <y/n>: Regeneration TLS certificates"

답변: docker image다운 관련 질문 관리자 2016년 9월 17일 11:28 오전

말씀하신 현상에서 다운로드는 다시 하시 않으셔도 될 것 같습니다.
그런데 IP address는 변경되었을 수도 있기 때문에 Quickstart terminal에서 나오는 메세지를 확인하시거나
docker-machine ip
명령으로 IP address를 확인해 주세요.