Python、機械学習

Dockerの基本操作を1枚の絵にまとめてみた(Jupyterとの連携も)

私、他のパソコンでもPythonでデータ分析できるように、Dockerを用いた環境構築の方法を目下勉強中です。

Dockerの勉強を始めて、Dockerを使うメリットをじわじわ感じているのですが、いかんせん仕事柄、日常的に使うものではありませんので、時間が空くと操作方法を忘れてしまいがちです。

そこで、備忘録代わりにDockerの基本操作を1枚の絵にまとめてみました。

Dockerの基本操作

これが、Dockerの基本操作をまとめたものです。

Jupyterが公開しているDocker imageを使ってコンテナを作成する>

Jupyter Docker Stacksとは、Jupyterが公開しているDocker imageのセットです。これらのDocker imageからコンテナを作成することで、すぐにコードが書けるようになります。

Jupyter Docker Stacksには、ベーシックなものしか入っていないjupyter/base-notebookから、NumpyやPandas、Scikit-learnといったものが入ったjupyter/scipy-notebook、tensorflowを加えたjupyter/tensorflow-notebookなど、数種類のDocker imageが用意されています。

Selecting an Image – Jupyter Docker Stacks

コンテナの起動

例えば、Docker hubから最新のjupyter/scipy-notebookをpullしてrunするなら、ターミナルまたはコマンドプロンプトで次のようなコマンドを入力します。

docker run -p 8888:8888 jupyter/scipy-notebook:latest

最新のものではなくて前のバージョンのものを使いたい場合は、Tag名をlatestではなくて、該当するものに変えればOKです。jupyter/scipy-notebookのTag名はこちらで確認できます。

Docker Hub image tags – jupyter/scipy-notebook

Jupyter notebookを立ち上げる

次に、ブラウザでURL欄に「localhost:8888」と打てばJupyter notebookが立ち上がります。

新しいライブラリをインストールし、コンテナをリニューアルする

jupyter/scipy-notebookをrunした状態で、ターミナルまたはコマンドプロンプトで「pip install ___」と打てば、新しくライブラリをインストールすることできます。

その後、右下のフローに沿って新しいDocker imageとして保存することも可能です。

参考にしたURL、書籍

米国データサイエンティストのブログ-Docker超入門講座

・『実践で学ぶ機械学習活用ガイド』