zenn.skin 무료버전 배포중!
자세히보기

DataScience

docker에서 jupyternotebook 사용

koosco! 2022. 11. 23. 03:36
docker search jupyter

Jupyter notebook Image 불러오기

docker pull jupyter/datascience-notebook

Jupyter notebook Image tag

docker tag jupyter/datascience-notebook jupyter

container 생성

docker run -dit -e GRANT_SUDO=yes --user root -p 8080:8888 --name koos_notebook jupyter

-d : back ground 실행

-it : 입출력을 위한 옵션

-p : port 설정 host port : container port

--user : container에 root 권한 할당

-e : jupyter notebook에 root 권한 할당

container 접속

docker exec -it <container id> bash

vim 설치

sudo apt-get update
sudo apt-get install vim -y

비밀번호 설정

>> ipython
>> from notebook.auth import passwd
>> a = passwd()
>> 비밀번호
>> 비밀번호 확인
>> with open('passwd.txt', 'w') as f:
>>   f.write(a)
>> exit
vim passwd.txt

# yy를 눌러 토큰
# p를 눌러 복사가 되었는지 확인

jupyter_notebook_config.py 수정

vim ~/.jupyter/jupyter_note_book_config.py
# / 을 누른 후 검색어를 누르면 편하게 검색 가능
# 꼭 주석을 제거해 준 후 아래와 같이 설정을 변경해준다
c.NotebookApp.password = '' # 위에서 복사한 토큰을 복사, 명령 모드에서 p를 눌러 붙여넣을 수 있음

c.NotebookApp.password_required = True

설정을 변경한 후 vim을 나온 후 container에서도 나와줍니다.

exit

container 재실행

docker restart <container id>

 

위에서 설정한 host port를 이용해 브라우저를 통해 접속할 수 있습니다.

127.0.0.1:8080

전에는 가상환경을 이용해 버전을 관리하는 방법을 사용했었습니다.

apt-get의 update나 vim의 설치, passwd의 발급까지는 dockerfile을 빌드해서 처리할 수 있을 것 같은데 config 파일 수정은 dockerfile로 자동화할 수 있을지 모르겠습니다.

docker의 container를 사용하면 가상환경보다 더 깔끔하게 프로젝트 관리가 가능할 것 같습니다.

'DataScience'의 다른글

  • 현재글 docker에서 jupyternotebook 사용

관련글