Docker

[Docker] jupyterhub(+ jupyterlab) 설치

YD_Koo 2022. 9. 5. 18:20

설치 방법 전 JupyterHub 구성이유 

   - 본개발자는 여러 사용자가 사용할수 있는 JupyterLab 구성이 필요 해짐

   - anaconda 사용하기 싫음 ( 본 개발자 존특)

   - docker 연습겸  

1. 도커를 이용한 JupyterHub 구성

# 1. docker container 등록방법
# docker 사용한 image : jupyterhub/jupyterhub 
# -p 포트번호 설정 
# bash docker shell 바로 접근 하기 위함 

docker run -it -p 8000:8000 --name jhubcontainer jupyterhub/jupyterhub bash
jupyterhub start

http://xxx.xxx.xxx.xxx:8000 접속

아래와 같은 페이지를 확인할 수 있다.

   - admin 계정에한 정보 모르겠음.....

   - 직접 사용자 추가 

http://xxx.xxx.xxx.xxx:8000 접속화면

 

user 계정을 추가

# Docker container shell 접근
# docker exec -it  jhubcontainer /bin/bash

adduser yd

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Changing the user information for username
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n]

로그인 이후 server Spawn failed  생성에 실패했다고 뭐라뭐라 한다.

로그인 후 페이지 생성에 Error 발생

페이지 로그 정보

Error Log

# apt-get 에러 발생시 아래 apt-get update및 upgrade  실행
# apt-get update
# apt-get upgrade

# 추가적으로 설치할 항목들이 있다.
apt-get install python3 python3-pip 
python3 -m pip install jupyterhub notebook jupyterlab


# 설치후 jupyterhub 재가동

Jupyterhub --> jupyterlab 생성 완료된 화면

 

2. 관리자 권한 추가 

# Docker container shell 접근
# docker exec -it  jhubcontainer /bin/bash

mkdir /etc/jupyterhub
cd /etc/jupyterhub/
jupyterhub --generate-config -f jupyterhub_config.py

# nano 미설치시
# apt-get install nano

nano jupyterhub_config.py


# 메모장(jupyterhub_config.py) 추가내용
c.Authenticator.admin_users = {'yd'}
c.PAMAuthenticator.admin_groups = {'masterG'}

jupyterhub_config.py 추가된 내용

admin 계정 추가 및 그룹 설정

 

# 수정한  jupyterhub_config.py 실행 
# jupyterhub 재실행 기존 돌고 있는거 있음 종료 바람

jupyterhub -f /etc/jupyterhub/jupyterhub_config.py

# http://xxx.xxx.xxx.xxx:8000/hub/admin#/   관리자페이지 접근 URL (관리자 로그인 후 )

관리자 화면 

관리자 모드 화면

 

위 구성의 단점 ?

1. 관리자

  - 관리자가 사용자를 추가를 해줘야한다.

  - 귀찮다. 

 

참고 페이지 

https://hub.docker.com/r/jupyterhub/jupyterhub

반응형