この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
データアナリティクス事業本部の鈴木です。
Jupyter Docker Stacksのdatascience-notebookにJuliaのパッケージを追加したイメージを作成する方法を紹介します。
検証の詳細
検証すること
datascience-notebookにJuliaのパッケージを追加したイメージを作成します。
Jupyter Docker Stacksのdatascience-notebookイメージを利用することで、Python・R・Juliaが利用できるJupyter NotebookおよびJuyterLab環境がすぐに利用できます。
Juliaについては、イメージにそれほど多くのパッケージが入っておらず、パッケージを追加する必要があります。 例えば、Juliaで可視化を行う際、まずはPlotsの利用が思い当たると思いますが、Plotsも初期状態ではインストールされていないため(少なくともjupyter/datascience-notebook:2021-10-07のタグのイメージでは)、ユーザーが追加する必要があります。
前提
以下の環境で検証を行いました。
- Docker version 20.10.7
- macOS Catalina バージョン10.15.7
- jupyter/datascience-notebook:2021-10-07
やってみる
Dockerfileの作成
datascience-notebookを元に、パッケージを追加したイメージを作成するため、Dockerfileを作成します。
今回は以下のようなDockerfileを作成しました。
Dockerfile
FROM jupyter/datascience-notebook:2021-10-07
USER ${NB_UID}
# Add Julia packages.
RUN julia -e 'import Pkg; Pkg.update()' && \
julia -e 'import Pkg; Pkg.add("Plots")'
インストール方法は、datascience-notebookのDockerfileを参考にしました。
また、上記はJulia環境自体の記載も多く、パッケージの追加のみを記載した例も確認したかったので、こちらは以下のSageMaker Studio Custom Image SamplesのDockerfileを参考にしました。
ビルド・起動してみる
Dockerfileができたので、後はイメージをビルドし、起動します。
Dockerコマンドでは以下のようにできます。
## イメージをビルドする。
docker build -t nayuts/julia-custom-datascience-notebook .
## コンテナを起動する。
docker run --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v "${PWD}":/home/jovyan/work nayuts/julia-custom-datascience-notebook
docker-composeでもビルドと起動ができます。
docker-compose.yml
version: "3"
services:
julia-custom-datascience-notebook:
build: .
image: nayuts/julia-custom-datascience-notebook
volumes:
- ${PWD}/:/home/jovyan/work
ports:
- 8888:8888
container_name: julia-custom-datascience-notebook
environment:
- JUPYTER_ENABLE_LAB=yes
例えば以下のようにファイルを配置し、docker-compose up
でビルド・起動します。
## ファイル配置の確認
tree .
# .
# ├── Dockerfile
# ├── docker-compose.yml
## コンテナの起動。初回はイメージをビルドする。
docker-compose up
動作を確認する
JupyterLabにログインし、動作を確認します。 以下のように、Plotsを使い、グラフを描写できることが分かりました。
最後に
今回は、Jupyter Docker Stacksのdatascience-notebookにJuliaのパッケージを追加したイメージを作成しました。
JupyterでJuliaを使いたい方の参考になれば幸いです。