この記事の目的

ローカルでJupyterをさくっと立てて分析をしたり、簡単なスクリプトを書きたい時にはDockerを使うと便利です。その方法をまとめました。

Jupyter上で扱う言語はAnacondaとRubyを対象としています。

前提

Dockerがインストールされていること。

Anacondaを使う場合

Jupyterが公式で提供しているDockerイメージを利用します。
jupyter/docker-stacks – Github

色々なバージョンがあるのですが、今回は分析用のライブラリが一式入っているdatascience-notebookを使います。

ローカルなので認証Offの状態で立ち上げます。(サーバ上で起動する場合は認証掛けたほうがいいと思います)
また、分析対象のデータがあるディレクトリで docker run すればそのままデータが使えるように、Jupyterのworkをカレントディレクトリにマウントしておきます。こうすることで、notebook自体はローカル上に残ります。

docker pull jupyter/datascience-notebook
docker run -d -p 8888:8888 -v "$(pwd):/home/jovyan/work" jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''

ブラウザからlocalhost:8888にアクセスするとJupyterからAnacondaが使える状態になっています。

Reference

Jupyter の Docker イメージを使ってみる – Qiita

Rubyを使う場合

公式では無いのですが、こちらの記事で紹介されているイメージを利用します。

Rubyの場合はGemを自分で追加したいので、 docker run するディレクトリにGemfileとDockerfileを置いた状態で起動します。

source 'https://rubygems.org'

gem 'hoge' # 好きなGemを入れる
gem 'fuga'
FROM izumin5210/iruby-notebook

ADD Gemfile .
RUN bundle install

Rubyの文字コードだけ指定して起動します。また。Anacondaの場合と同様に、分析対象のデータがあるディレクトリで docker run すればそのままデータが使えるように、Jupyterのworkをカレントディレクトリにマウントします。

docker build -t=iruby-notebook .
docker run -p 8888:8888 -e RUBYOPT=-EUTF-8 -v "$(pwd):/notebooks" iruby-notebook

ブラウザからlocalhost:8888にアクセスするとJupyterからRubyが使える状態になっています。

Reference

Railsエンジニアに役立つJupyter NotebookとiRuby – クックパッド開発者ブログ
Pythonista以外が環境を汚さずにJupyter Notebookに触れる方法 あるいは,Rubyist以外が環境を汚さずにJupyter NotebookでRubyに触れる方法 – Qiita

以上です。

广告
将在 10 秒后关闭
bannerAds