sequenceiq/sparkのDockerイメージはCentOS 6.5を使っているので、そのままではIPythonのインスト-ルに失敗してしまいます。SequenceIQにはUbuntuのbaseimageもあります。これから自分でSparkのDockerfileを作ろうと思いましたが、ちょどよいイメージがLogBaseInc/docker-spark-ipythonありました。
CentOS 6.5の場合
前回作成したDockerコンテナはCentOS 6.5のbaseimageを使っています。
$ cat /etc/redhat-release |
Pythonのバージョンは2.6.6です。
$ python -V |
Python 2.7以上を使わないとiPythonがインストールできません。
$ curl https://bootstrap.pypa.io/get-pip.py -o - | sudo python |
Ubuntu 14.04.1の場合
LogBaseInc/docker-spark-ipythonを使いDockerコンテナを起動します。
$ docker pull logbase/spark-ipython |
シェルを起動してバージョンを確認します。
$ docker exec -it spark-ipython /bin/bash |
Pythonのバージョンは2.7.6、IPythonは2.3.1です。
$ python -V |
IPython Notebookを使う
ngrokを使いDockerホストの8888ポートをトンネルします。
$ docker run -it --rm wizardapps/ngrok:latest ngrok $(docker inspect --format="{{ .NetworkSettings.IPAddress }}" spark-ipython):8888 |
ブラウザでIPython Notebookを開いて簡単なテストで動作確認します。