Docker イメージ rubydata/datascience-notebook にはデータサイエンス関連の gem があらかじめインストール済みになっていますが、それ以外の gem を使いたい場合の手順です。
単に Dockerfile に追記すればいいだけなんですが、「Docker + IRuby 使ってみたいけどまだ Docker についてよく知らない」みたいな人もいるかなと思ってメモしてみます。
使いたい gem が追加されていない状態だとこうなりますね(素の rubydata/datascience-notebook
を使った場合)。
今回は例として svg-graph という gem で試しています。
やり方はいろいろありそうですが、今回は rubydata/datascience-notebook
をベースにしたイメージを作る方法にしました。
まずは適当な作業ディレクトリに Dockerfile
というファイルを置き、以下の内容で保存します。
# Dockerfile
# ベースイメージの指定
FROM rubydata/datascience-notebook
# 使いたい gem をインストールする
RUN gem install svg-graph
今書いた Dockerfile の内容にしたがってイメージをビルド。
docker build -t my-datascience-notebook:test .
実行。
# 最低限ならこう
docker run --rm -p 8888:8888 \
my-datascience-notebook:test
# 実際使う場合はこんな感じ
docker run --rm -p 8888:8888 \
-v $(pwd):/home/jovyan/work \
--name my_datascience_notebook \
my-datascience-notebook:test
実行するとターミナルに以下のように表示されるので、URL(http://127.0.0.1:〜
)をコピーしてブラウザで開く。
[C 2024-02-18 23:27:59.564 ServerApp]
To access the server, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/jpserver-6-open.html
Or copy and paste one of these URLs:
http://bbfe0f483910:8888/lab?token=09e596ae99c4f53d1349b7ba074d71f6782619f70ddbc75b
or http://127.0.0.1:8888/lab?token=09e596ae99c4f53d1349b7ba074d71f6782619f70ddbc75b
ブラウザで開いたときの最初の画面。
Notebook>Ruby〜 をクリックして新規ノートブックを開く。
こんどは require できました。
(セルにコードを書いて Ctrl+Enter で実行)
せっかくなのでもうちょっとやってみます。
使えますね。
この記事を読んだ人は(ひょっとしたら)こちらも読んでいます