Windows + Docker 로 Jupyter 환경만들기

Windows + Docker 로 Jupyter 환경만들기

앞서 Linux상에서의 Jupyter 서버 설치에 관해 설명드렸는데 이번에는 Windows 상에서 간단하게 Docker를 이용한 서버설치를 설명드리겠습니다.

Anaconda3+ 버전을 이용한 설치방법도 있지만
Docker만의 컨테이너를 이용한 이미지 관리의 편리함을 느껴보시길 바랍니다.

Requirements

1. Windows 버전

Windows 7+ 이상의 버전 64bit 운영체제가 필요합니다.


2. 가상화 지원

CPU 및 메인보드에서 가상화를 지원해야 합니다. 또한 시스템 상에서도 가상화 지원을 enable시켜야 합니다.


Docker 이해


docker windows에 대한 이미지 검색결과

위 그림과 같이 Docker는 Docker Engine이라는 일종의 데몬 프로그램으로

Windows Server나 Linux Kernel상의 이미지를 생성해 구동되는 방식입니다. 이는 Container라고 부릅니다.

Docker, how it works.• Difference between a container and a VMVirtual Machine Container

Container라는 것은 운영체제를 구동할 전체 OS 소스를 포함시키지는 않고

Docker Engine에 바로 접목시켜 구동될 수 있는 /bin 나 /lib 특정 프로그램을 실행시킬 패키지만 가지고 있습니다.

즉, 이미 존재하는 Docker라는 리눅스 시스템상에서 특정 프로그램을 실행시킬 실행파일과 그에 필요한 파일을 Container로 묶어 필요할때마다 땟다 붙였다 할 수 있는 겁니다.

Container는 다양한 오픈소스 프로그램들을 실행할 수 있도록 사용자들이 만들어 놓은 이미지가 커뮤니티를 통해 공개되어 있습니다. 우리는 그저 입맛에 맞는 것만 받아 설치하면 됩니다.


Docker 설치

우선 링크 에 접속하여 파일을 Windows용 exe설치 파일을 다운받습니다. (Community 버전)


Toolbox 설치

다운로드 받은 파일을 실행시키면

docker1.png

Docker toolbox 설치를 위한 화면이 나타납니다.

docker2.png

설치할 위치를 지정시켜주면

docker windows install에 대한 이미지 검색결과

선택옵션이 나타나는데 Git이 설치되있다면 체크를 해지해주시고 나머지는 체크된 상태로 진행하면 됩니다.


다음으로는 쭉 Next로 진행하시면 설치가 자동으로 완성됩니다.


Jupyter 설치

docker 설치가 완료되었다면 이제 Jupyter 컨테이너를 받아서 실행 해보도록 합시다.

윈도우키 + r , cmd 입력으로 윈도우 커맨드창을 관리자권한으로 엽니다.


그 후 아래 명령어들을 통해서 docker를 처음 시작해 봅시다.

1
docker run --name jupyter -it --rm -p 8888:8888 jupyter/datascience-notebook

위 명령어를 입력하면 설치가 진행됩니다. 이는 https://hub.docker.com/r/jupyter/datascience-notebook/
docker 컨테이너를 공유하는 주소로부터 컨테이너를 받아오는 것입니다.
사실 jupyter 관련한 컨테이너 종류가 수도없이 많지만 저는 위 컨테이너가 구성이 잘되어있어서 선택하였습니다.


위 링크에서 컨테이너를 시작하는 여러가지 옵션들이 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker [option]
run : 컨테이너 생성 명령어 입니다.
--rm : 기존 컨테이너를 삭제하고 새로운 컨테이너를 만듭니다. 이는 새로운 컨테이너를 생성할때만 입력해줍시다.
-p : 컨테이너 내부 포트와 외부 포트를 연결시킵니다.
우리는 이 포트를 이용하여 접속할 수 있습니다. [내부포트]:[외부포트]
jupyter/datascience-notebook : Docker hub에서 공유된 주소입니다. 다른 컨테이너를 사용하실려면 이 부분을 수정합니다.
--name : 컨테이너의 이름을 지정합니다. 사용자 마음대로 지정하고 이 이름으로 컨테이너를 제어할 수 있습니다.

*추가옵션*
--NoterbookApp.password='sha1:...'
= 초기 비밀번호는 설정합니다. 비밀번호 생성방법은 https://kipang.github.io/blog/JupyterInstall/
에서 sha1 키 생성방법을 확인하시길 바랍니다.

-d
= 백그라운드에서 동작합니다. 즉 컨테이너를 실행시키면 jupyter log들이 쭉 펼쳐지고 커맨드창을 닫으면 jupyter가
종료되는데 이를 모두 백그라운드로 숨기는 것입니다.

주의

위 명령어는 처음 컨테이너를 시작하는 명령어로 새로운 컨테이너를 시작하는 것이 아니라면 처음 한번만 실행합시다.

설치가 완료되었다면 브라우저 주소에 http://localhost:8888 를 입력하여 접속해봅시다.

비밀번호는 jovyan입니다. —NotebookApp.password 옵션으로 개인 비밀번호를 설정할 수도 있습니다.

Jupyter 실행 및 종료

종료

Docker를 실행시킨 윈도우 커맨드창을 닫거나 Ctrl+c를 입력하여 종료시킬 수 도 있고

docker stop jupyter

를 통해 컨테이너를 종료시킬 수 있습니다.

실행

컨테이너를 재 실행 시키기 위해선

docker start jupyter

를 입력하시면 됩니다. jupyter는 처음 docker run --name jupyter에서 입력한 옵션-—name에서 지정한 이름입니다.

unsplash-logochuttersnap

댓글