Docker-Composeを使って5分でJupyterLabの環境構築
仕事でデータ分析とかもやっていかないといけなくて、勉強のための実行環境欲しいなと思って、自分のPCにJupyterLabをDocker-Composeを使って環境構築したので記事にしました。
実施環境
- macOS Catalina(15-inch, 2016)
- Docker for Macインストール済
- Docker version 19.03.8
- docker-compose version 1.25.4
JuptyerLabとは
ライブラリを使用したデータの可視化が簡単にでき、機械学習に必須の前処理やデータマイニングをデータを見ながら試行錯誤ができるという、データ分析には必須のIDEです。
JuptyerLabはJupyter notebookの後継でJupyter notebookの開発は一旦終了し,JupyterLabに移行すると公式アナウンスされています。
使用したDocker image
今回はJupyterLab公式のPythonとJuliaとRが使えて、デフォルトでpandasやscikit-learnなどのPythonライブラリが使えるdatascience-notebook
というimageを使用します。Pythonしか使わない場合はscipy-notebook
というimageがあるので、そちらを使った方が良いと思います。
他にもいろいろimageがありますので公式ドキュメントをご覧ください。
Selecting an Image — docker-stacks latest documentation
環境構築
- ローカルに今回の環境構築用のディレクトリを任意の場所に用意します。
- 1 で作ったディレクトリ配下に、workフォルダとdocker-compose.ymlを作成します。
-
作成したdocker-compose.ymlに以下のように記述します。
version: "3" services: datascience-notebook: container_name: datascience-notebook-container # scipy-notebookの場合はjupyter/scipy-notebookになります。 image: jupyter/datascience-notebook # コンテナの/home/jobyan/workをホストの./workで永続化 volumes: - ./work:/home/jovyan/work ports: - 8888:8888 restart: always # 今回はローカル起動用なのでログインは省略します。 command: start.sh jupyter lab --NotebookApp.token=''
- terminalで 1 で作ったディレクトリ配下にて、初回は`docker-compose up --build`を実行しコンテナを起動します。(buildは結構時間がかかります。コマンドは次回以降`docker-compose up`でOK)
- http://localhost:8888/にアクセスして起動を確認します。 以下のような画面が出てきたら起動完了です。
動作確認
起動ができたら動作確認を行います。
- 左のworkフォルダをダブルクリックします。
- Luncherの中のNotebook Python3を選択すると以下のファイルが作成されます。
- 青い枠の中に以下のコードを書き込みます。
from sklearn.datasets import load_iris import pandas as pd iris = load_iris() pd.DataFrame(iris.data, columns=iris.feature_names)
枠の中でShift + Enter
を押し、以下のようなテーブルがちゃんと出てきたらOKです!
終わりに
Jupyter Labを使ったデータ分析の環境ができたので、本を使ったり、Kaggleをやったりしてデータ分析のスキルを身に付けていきたいですね!