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' 카테고리의 다른 글
[ML] 정확도가 아닌 손실 함수를 사용해 학습하는 이유 (0) | 2022.10.31 |
---|---|
[ML] 다층 퍼셉트론(multi-layer perceptron) (0) | 2022.10.29 |
[ML] 퍼셉트론 (Perceptron) (1) | 2022.10.29 |
[Python] 두 표본에 대한 모평균 검정 (0) | 2022.10.05 |
[Python] t분포의 신뢰구간(Confidence Interval, CI) (0) | 2022.10.05 |