
takepwave/sagemathこのページでは、 Vagrantで構築したjupyterノートブック が動作する環境をDockerで構築するための方法を紹介します。
インストールの必要なUbuntu用のパッケージは、以下の通りです。
python用のパッケージは、以下の通りです。
Rでは、以下のパッケージをインストールしました。
キャラクターベースでsageを使用する場合には、以下のコマンドを実行します。
bash$ docker run -i -t takepwave/sagemath
jupyterのノートブックを使用する場合には、以下のコマンドを実行します。 (通常ならこれで起動するはずですが、ノートブックでsage kernelを起動すると落ちる障害が発生します)
bash$ docker run -p 127.0.0.1:8888:8888 -d -t takepwave/sagemath /opt/sage_launcher \ --notebook=ipython --ip='*' --port=8888
補足情報:
暫定処置として、以下のように起動してください。
bash$ docker run -p 127.0.0.1:8888:8888 -d -t takepwave/sagemath /opt/sage_launcher \ -sh -c "ipython notebook --no-browser --ip='0.0.0.0' --port=8888"
これで、ブラウザーで以下のURLを入力するとjupyterの画面になります。
http://localhost:8888/
OpenAIのフレームをアニメーションで表示する場合には、jupyterのバックグラウンドでxvfbサーバを起動する必要があります。
dockerのrunコマンドを以下のように変更してください。
bash$ docker run -p 127.0.0.1:8888:8888 -d -t takepwave/sagemath /opt/sage_launcher \ -sh -c "nohup xvfb-run -s '-screen 0 1400x900x24' ipython notebook --no-browser --ip='0.0.0.0' --port=8888"
dockerを起動しているマシンにあるノートブックをdockerのsage jupyterで使用するには、dockerの-vオプションを使用します。
-v ローカルのノートブックのパス:/home/sage/notebook
以下は、ローカルの$HOME/proj/jupyter/MySage/notebookを/home/sage/notebookにマウントした時の例です。
bash$ docker run -v $HOME/proj/jupyter/MySageMath/notebook/:/home/sage/notebook \ -p 127.0.0.1:8888:8888 -d -t takepwave/sagemath /opt/sage_launcher \ -sh -c "ipython notebook --no-browser --ip='0.0.0.0' --port=8888"
現在動いているコンテナーは、docker psコマンドで確認することができます。 -aのオプションを付けると停止しているコンテナーも知ることができます。
ここでキーとなるのは、sage_launcherのCONTAINER IDです。これを控えておいて次の操作をしてみましょう。
bash$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4a704622db7a takepwave/sagemath "/opt/sage_launcher -" 45 minutes ago Up 45 minutes 127.0.0.1:8888->8888/tcp berserk_stonebraker
実行中のコンテナーを停止するには、docker stopコマンドを使用します。
この時、先ほど控えたCONTAINER IDを使用します。
bash$ docker stop 4a704622db7a 4a704622db7a
停止したコンテナーを再開するには、docker startコマンドを使用します。
docker startの後にdocker ps -aで調べたCONTAINER IDを指定します。
bash$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4a704622db7a takepwave/sagemath "/opt/sage_launcher -" 55 minutes ago Exited (137) 2 minutes ago $ docker start 4a704622db7a 4a704622db7a
このように一度起動したjupyter環境を簡単に停止、再開することができます。
以下のサイトからご使用の環境にあったDockerをダウンロードし、インストールしてください。
CentOSの場合は、以下のコマンドでインストールできます。
bash$ sudo yum install docker
Ubuntuの場合には、以下のコマンドでインストールできます。
bash$ sudo apt-get install docker.io

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务