Mais conteúdo relacionado Semelhante a DockerでJupyter使おうぜ (20) Mais de Satoshi Yazawa (7) DockerでJupyter使おうぜ2. 誰?
谷沢 智史
◦ 株式会社ボイスリサーチ エンジニア
◦ GitHub/Twitter: @yacchin1205
昔: オンラインゲームとか映像コンテンツとか
今: クラウド運用とかロボットとか
国立情報学研究所(NII)でプライベートクラウドの運用支援
6. Literate Computing
for Reproducible Infrastructure
操作の証跡になる
繰り返しおこなうものは手順書として洗練していく
Literate computing for reproducible infrastructure - our basic practices
in a video capture -
◦ http://www.slideshare.net/nobu758/literate-computing-for-reproducible-
infrastructure-our-basic-practices-in-a-video-capture
8. Jupyter
Mar 2 07:43:46 datalab-deploy-... startupscript: Step creating network datalab succeeded.
Mar 2 07:43:47 datalab-deploy-... startupscript: Creating Datalab application...
…
Mar 2 07:43:47 datalab-deploy-... startupscript: - Build (and pull) docker container
Mar 2 07:43:48 datalab-deploy-... startupscript: Sending build context to Docker daemon
6.656 kB#015#015
Mar 2 07:43:48 datalab-deploy-... startupscript: Sending build context to Docker daemon #015
Mar 2 07:43:48 datalab-deploy-... startupscript: Step 0 : FROM gcr.io/cloud_datalab/datalab
Mar 2 07:43:48 datalab-deploy-... startupscript: latest: Pulling from
gcr.io/cloud_datalab/datalab
Mar 2 07:43:48 datalab-deploy-... startupscript: 77e39ee82117: Pulling fs layer
Mar 2 07:43:48 datalab-deploy-... startupscript: 5eb1402f0414: Pulling fs layer
…
Mar 2 07:44:24 datalab-deploy-... startupscript: 557148c7feb7: Pull complete
Mar 2 07:44:24 datalab-deploy-... startupscript: Digest:
sha256:0353b7d5c629162465bb8b98c8838e190ad73d03c052e4dbff1c2274e3e78645
Mar 2 07:44:24 datalab-deploy-... startupscript: Status: Downloaded newer image for
gcr.io/cloud_datalab/datalab:latest
Mar 2 07:44:24 datalab-deploy-... startupscript: ---> 557148c7feb7
Mar 2 07:44:24 datalab-deploy-... startupscript: Successfully built 557148c7feb7
Mar 2 07:44:24 datalab-deploy-... startupscript: Step build container succeeded.
…
インフラのオペレーションで使うには・・・
Privateな環境で動かしたい
16. tmpnb - Quick start
1. tmpnb, configurable-http-proxy コンテナを起動する
◦ 勝手にJupyter Notebookが起動される
2. http://docker-host:8000/ を開く
いろいろカスタマイズできる!
docker pull jupyter/minimal-notebook
export TOKEN=$( head -c 30 /dev/urandom | xxd -p )
docker run --net=host -d -e CONFIGPROXY_AUTH_TOKEN=$TOKEN --name=proxy
jupyter/configurable-http-proxy
--default-target http://127.0.0.1:9999
docker run --net=host -d -e CONFIGPROXY_AUTH_TOKEN=$TOKEN --name=tmpnb
-v /var/run/docker.sock:/docker.sock jupyter/tmpnb
Notas do Editor (タイトル)という題で発表させていただきます。 ボイスリサーチの谷沢といいます。白いロボットの技術書とか書いているんですけど、最近は割と国立情報学研究所というところでクラウドの運用のお手伝いをやらせていただいてます。 で、NIIでは、Literate Computing for Reproducible Infrastructureと銘打って、Jupyter、昔はIpythonといいましたが、これとAnsibleを組み合わせて、運用の作業をコード化しつつ、実行結果や説明もひとまとめのドキュメントとしても残して活用していくという試みをしています。 Web UIベースで、個々のコードのすぐそばに経緯などもかけるので、あとでなんでこれやったんだっけ?みたいなことも割と少なくて済む気がします。 説明にはMarkdownが書けるので、必要な見出しを入れていくとか 詳しくはビデオなど公開していますので見てください。
そんな感じで、もともとデータ分析みたいな部分で使われているJupyterをインフラ運用にも使ってみているわけです。
ぜひご存じない方はtmpnb.orgにアクセスしてみてください。Jupyter環境のお試しができます。
実はこれはDockerでNotebook環境を管理しています。 JupyterはGoogle Cloud Platformのサービスにも組み込まれています。
実はCloud DataLabもDockerが使われていて、デプロイ時のログにもよく見る出力が流れていて熱いです。
自分たちのようなオペレーション用途で使ってみようとすると、その操作対象と同じ、Privateな環境で動かしたくなります。 JupyterというかIPythonは、もともとWeb UIだけでなく、コマンドベースの対話環境みたいなものを実現するためのツールで、実行可能な言語もPythonには限りません。
基本的にはUI周りはClient, 処理はKernelとして分離されています。 Kenr Kernelから、運用に必要なツールが実行できるようインストールしておいたり、 Web UIが利用しやすいようにExtensionを追加したくなります。
しかもこれらはどんどんアップデートされていきます。