▶︎ Jupyter Notebook
오픈소스 기반의 웹 플랫폼으로,
파이썬을 비롯한 다양한 프로그래밍 언어로 코드 작성 및 실행하는 개발 환경을 구축할 수 있다.
이번 게시글에서는 주피터 노트북을 도커로 구축하는 방법에 대해서 알아볼 것이다.
▶︎ 컨테이너 생성
도커 이미지의 경우 주피터 노트북에서 공식적으로 지원하는 이미지인 quay.io/jupyter/datascience-notebook:2024-03-14
를 사용할 것이다.
이미지 업데이트 내용은 https://hub.docker.com/u/jupyter에서 확인할 수 있다.
‣ Docker run
Docker run
으로 주피터 노트북 컨테이너를 띄우는 방법은 아래와 같다.
docker run -d -it --name jupyter \
-p 10000:8888 \
-v "${PWD}":/home/jovyan/work quay.io/jupyter/datascience-notebook:2024-03-14
-v
플래그를 사용하면 컨테이너에서 호스트의 현재 작업 디렉토리가 마운트된다.- 컨테이너 실행 후, 브라우저에서
http://<hostname>:10000/?token=<token>
으로 접속하면 jupyterLab이 로드된다.
‣ Docker Compose
Docker Compose를 사용하여 컨테이너를 띄우는 방법은 아래와 같다.
본인의 경우 Docker Compose V2.20.3 버전 이상부터 지원되는 옵션인 include
를 사용하여
서비스들을 분리하여 관리할 것이다.
{% include codeHeader.html name="~/jupyter/docker-compose.yaml" %}
version: "3.9"
include:
- "composes/jupyter-notebook.yaml"
networks:
jupyter-net:
driver: bridge
external: false
{% include codeHeader.html name="~/jupyter/composes/jupyter-notebook.yaml" %}
services:
code-server:
image: quay.io/jupyter/datascience-notebook:2024-03-14
restart: always
volumes:
- type: bind
source: "../"
target: "/home/jovyan/work"
container_name: jupyter
ports:
- "10000:8888"
networks:
- "jupyter-net"
아래 명령을 사용하여 컨테이너를 실행
docker-compose up -d --build
‣ 접속
컨테이너가 정상적으로 생성되었다면
http://<server_ip>:10000
으로 접속해보자.
위와 같은 화면이 나올텐데 Password or token
이 부분에 토큰 값을 넣어주어야 로그인이 가능하다.
토큰 값은 아래 명령어를 실행하여 확인할 수 있다.
docker-compose logs | grep 'token='
위 토큰을 입력하고 로그인을 하면된다.