Docker ComposeでJupyter Lab(Notebook)を構築する方法

Docker ComposeでJupyter Labを構築
目次

本環境

PC : Windows 10 Home
VMware Workstation 16 PlayerからLinux VM(Ubuntu)を作成しています。
*本記事ではLinux VM(Ubuntu)からコマンドを実行しています。

フォルダ構成

フォルダ構成は以下のようになります。

Dockerfileを作成する

Dockerfileを作成します。ベースイメージはpython:3.9.7-busterを使用しています。

大きな流れとして、apt-getで必要なパッケージを導入し、その後JupyterLab関連のパッケージをインストールしています。他にも、各環境に特化したパッケージをインストールしたい場合は、requirements.txtの中に記載します。

FROM python:3.9.7-buster

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
    tzdata \
&&  ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&&  apt-get clean \
&&  rm -rf /var/lib/apt/lists/*

ENV TZ=Asia/Tokyo

RUN python3 -m pip install --upgrade pip \
&&  pip install --no-cache-dir \
    black \
    jupyterlab \
    jupyterlab_code_formatter \
    jupyterlab-git \
    lckr-jupyterlab-variableinspector \
    jupyterlab_widgets \
    ipywidgets \
    import-ipynb

WORKDIR /workspace
ADD requirements.txt /workspace

# Pythonのモジュールをrequirements.txtからインストール
RUN pip install -r requirements.txt

requirements.txtを作成する

各環境に特化したパッケージがある場合、requirements.txtに追加します。

tqdm
numpy
pandas
scipy

docker-compose.ymlを作成する

コンテナの起動時に必要となる設定をdocker-compose.ymlに記載します。

version: "3"
services:
  jupyter:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
    entrypoint: >
      jupyter-lab
      --allow-root
      --ip=0.0.0.0
      --port=8888
      --no-browser
      --NotebookApp.token=''
      --notebook-dir=/workspace
    ports:
      - 8888:8888
    volumes:
      - ./root_jupyter:/root/.jupyter
      - $HOME/projects:/workspace

Jupyter Labのコンテナを起動する

以下のコマンドでDockerコンテナを起動します。

docker-compose up -d

Windowsから、以下の画面のように表示されれば成功です。

http://{IPアドレス}:8888/

以上になります。お疲れさまでした!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次