17
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerでJupyterをさくっと立ち上げる(対象言語:Anaconda/Ruby)

Last updated at Posted at 2017-01-12

この記事の目的

ローカルで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を置いた状態で起動します。

Gemfile
source 'https://rubygems.org'

gem 'hoge' # 好きなGemを入れる
gem 'fuga'
Dockerfile
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

以上です。

17
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?