SlideShare a Scribd company logo
Docker Meetup Tokyo #6
Dockerで
Jupyter使おうぜ
谷沢 智史(株式会社ボイスリサーチ)
誰?
谷沢 智史
◦ 株式会社ボイスリサーチ エンジニア
◦ GitHub/Twitter: @yacchin1205
昔: オンラインゲームとか映像コンテンツとか
今: クラウド運用とかロボットとか
国立情報学研究所(NII)でプライベートクラウドの運用支援
Literate Computing
for Reproducible Infrastructure
NIIにおけるベアメタルクラウド上の環境構築/運用に…
Jupyter(旧IPython) + Ansible
実行コード
説明
実行結果
をNotebookとして、
ひとまとめに記述
Literate Computing
for Reproducible Infrastructure
Notebook中にAnsible呼び出しを記述/コードの前後に説明を書いたり
Literate Computing
for Reproducible Infrastructure
見出しをつけていくことで長い手順もわかりやすくしたり
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
Jupyter
簡単にお試しできるJupyter Notebook環境
https://tmpnb.org
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な環境で動かしたい
Jupyter
Decoupled Two-Process model
Client Kernel
Web
Notebook
Console
Qt Console
Python2
Kernel
Python3
Kernel
Bash
Kernel
...
ZeroMQ
Client Kernel
Web
Notebook
Console
Qt Console
Python2
Kernel
Python3
Kernel
Bash
Kernel
...
ZeroMQ
Jupyter
いろいろなKernel
https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages
Client Kernel
Web
Notebook
Console
Qt Console
Python2
Kernel
Python3
Kernel
Bash
Kernel
...
ZeroMQ
Jupyter
ツールもいろいろ
Client Tools
Jupyter
Notebook Extensionsもいろいろ
UI周りもどんどん更新 ... 構築・維持とかやってられない
Client Kernel
Web
Notebook
Console
Qt Console
Python2
Kernel
Python3
Kernel
Bash
Kernel
...
ZeroMQ
Extension
Extension
Extension
docker-stacks
https://github.com/jupyter/docker-stacks
docker-stacksをベースに必要ツールを
インストール・イメージ化すれば管理が楽!
運用者ごとにJupyter
講義用環境の構築 ... 講師ごとに環境を用意したい
tmpnbが使えるんじゃね?
tmpnb
一時的なJupyter Notebook環境の生成をDockerで実現
https://github.com/jupyter/tmpnb
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
まとめ
ツール盛り合わせフロント環境の管理・運用は
Dockerじゃないとできない
運用の手順や証跡管理に、Jupyterどうっすか?

More Related Content

What's hot (20)

PPTX
Dockerが抱えるネットワークの課題
Asuka Suzuki
 
PPTX
KubernetesでGPUクラスタを管理したい
Yuji Oshima
 
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
 
PPTX
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
 
PPTX
コンテナ運用基盤 with OpenShift
Y K
 
PPTX
Jupyter notebook
亮吾 守屋
 
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
Etsuji Nakai
 
PPTX
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Takaya Saeki
 
PDF
Docker で Deep Learning
Takenori Nakagawa
 
PDF
真Drone入門
Yutaka Matsubara
 
PDF
はじめての CircleCI
Yosuke Mizutani
 
PDF
Docker入門
Shun Tsunoda
 
PDF
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
 
PDF
vscode pipenv docker
ikdysfm
 
PDF
KubernetesとOpenShiftの話
Kazuto Kusama
 
PPTX
今時のDev opsの取り組み事例集
Wataru NOGUCHI
 
PPTX
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
 
PDF
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
 
PDF
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
 
PDF
Dockerだけではないコンテナのはなし
Katsunori Kanda
 
Dockerが抱えるネットワークの課題
Asuka Suzuki
 
KubernetesでGPUクラスタを管理したい
Yuji Oshima
 
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
 
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
 
コンテナ運用基盤 with OpenShift
Y K
 
Jupyter notebook
亮吾 守屋
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
Etsuji Nakai
 
Ss systemdのwslディストロを作る kernelvm探検隊online part 3
Takaya Saeki
 
Docker で Deep Learning
Takenori Nakagawa
 
真Drone入門
Yutaka Matsubara
 
はじめての CircleCI
Yosuke Mizutani
 
Docker入門
Shun Tsunoda
 
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
 
vscode pipenv docker
ikdysfm
 
KubernetesとOpenShiftの話
Kazuto Kusama
 
今時のDev opsの取り組み事例集
Wataru NOGUCHI
 
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
 
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
 
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
 
Dockerだけではないコンテナのはなし
Katsunori Kanda
 

Similar to DockerでJupyter使おうぜ (8)

PPTX
Jupyterで運用やってみた
Satoshi Yazawa
 
PPTX
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Satoshi Yazawa
 
PDF
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
 
PDF
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
No Bu
 
PDF
Jupyter notebook を用いた文芸的インフラ運用のススメ
No Bu
 
KEY
PyOpenCLによるGPGPU入門
Yosuke Onoue
 
PPTX
jupyterの紹介 #nds48
civicpg
 
PPTX
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Daichi Kitamura
 
Jupyterで運用やってみた
Satoshi Yazawa
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Satoshi Yazawa
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
 
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
No Bu
 
Jupyter notebook を用いた文芸的インフラ運用のススメ
No Bu
 
PyOpenCLによるGPGPU入門
Yosuke Onoue
 
jupyterの紹介 #nds48
civicpg
 
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Daichi Kitamura
 
Ad

More from Satoshi Yazawa (6)

PDF
ベアメタルクラウドの運用をJupyter NotebookとAnsibleで機械化してみた
Satoshi Yazawa
 
PPTX
dodaiのProvisioning周辺探訪 - dodai勉強会 #4
Satoshi Yazawa
 
PPTX
OpenStackとdodai - dodai勉強会 #1
Satoshi Yazawa
 
PDF
NIIクラウドチームとDocker
Satoshi Yazawa
 
PDF
20120611 SC研究会
Satoshi Yazawa
 
PDF
20120518 SE勉強会
Satoshi Yazawa
 
ベアメタルクラウドの運用をJupyter NotebookとAnsibleで機械化してみた
Satoshi Yazawa
 
dodaiのProvisioning周辺探訪 - dodai勉強会 #4
Satoshi Yazawa
 
OpenStackとdodai - dodai勉強会 #1
Satoshi Yazawa
 
NIIクラウドチームとDocker
Satoshi Yazawa
 
20120611 SC研究会
Satoshi Yazawa
 
20120518 SE勉強会
Satoshi Yazawa
 
Ad

Recently uploaded (8)

PPTX
Devcontainerのススメ(1)-Devcontainerとはどういう技術?-
iPride Co., Ltd.
 
PDF
20250711JIMUC総会_先進IT運用管理分科会Connpass公開資料.pdf
ChikakoInami1
 
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
 
PDF
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?.pdf
Masaki Yamakawa
 
PDF
20250711JIMUC総会IBM Automation_Platform最新情報_Connpass公開版.pdf
ChikakoInami1
 
PDF
【AI論文解説】 RLHF不要なLLMの強化学習手法: Direct Preference Optimization(+α)
Sony - Neural Network Libraries
 
PDF
Google Driveハブ型Obsidian同期環境:PC編集とモバイル閲覧を安全・効率的に実現するクロスデバイス構築ガイド
honeshabri
 
PDF
論文紹介:OVO-Bench: How Far is Your Video-LLMs from Real-World Online Video​ Unde...
Toru Tamaki
 
Devcontainerのススメ(1)-Devcontainerとはどういう技術?-
iPride Co., Ltd.
 
20250711JIMUC総会_先進IT運用管理分科会Connpass公開資料.pdf
ChikakoInami1
 
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
 
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?.pdf
Masaki Yamakawa
 
20250711JIMUC総会IBM Automation_Platform最新情報_Connpass公開版.pdf
ChikakoInami1
 
【AI論文解説】 RLHF不要なLLMの強化学習手法: Direct Preference Optimization(+α)
Sony - Neural Network Libraries
 
Google Driveハブ型Obsidian同期環境:PC編集とモバイル閲覧を安全・効率的に実現するクロスデバイス構築ガイド
honeshabri
 
論文紹介:OVO-Bench: How Far is Your Video-LLMs from Real-World Online Video​ Unde...
Toru Tamaki
 

DockerでJupyter使おうぜ

Editor's Notes

  • #2: (タイトル)という題で発表させていただきます。
  • #3: ボイスリサーチの谷沢といいます。白いロボットの技術書とか書いているんですけど、最近は割と国立情報学研究所というところでクラウドの運用のお手伝いをやらせていただいてます。
  • #4: で、NIIでは、Literate Computing for Reproducible Infrastructureと銘打って、Jupyter、昔はIpythonといいましたが、これとAnsibleを組み合わせて、運用の作業をコード化しつつ、実行結果や説明もひとまとめのドキュメントとしても残して活用していくという試みをしています。
  • #5: Web UIベースで、個々のコードのすぐそばに経緯などもかけるので、あとでなんでこれやったんだっけ?みたいなことも割と少なくて済む気がします。
  • #6: 説明にはMarkdownが書けるので、必要な見出しを入れていくとか
  • #7: 詳しくはビデオなど公開していますので見てください。
  • #8: そんな感じで、もともとデータ分析みたいな部分で使われているJupyterをインフラ運用にも使ってみているわけです。 ぜひご存じない方はtmpnb.orgにアクセスしてみてください。Jupyter環境のお試しができます。 実はこれはDockerでNotebook環境を管理しています。
  • #9: JupyterはGoogle Cloud Platformのサービスにも組み込まれています。 実はCloud DataLabもDockerが使われていて、デプロイ時のログにもよく見る出力が流れていて熱いです。 自分たちのようなオペレーション用途で使ってみようとすると、その操作対象と同じ、Privateな環境で動かしたくなります。
  • #10: JupyterというかIPythonは、もともとWeb UIだけでなく、コマンドベースの対話環境みたいなものを実現するためのツールで、実行可能な言語もPythonには限りません。 基本的にはUI周りはClient, 処理はKernelとして分離されています。
  • #11: Kenr
  • #12: Kernelから、運用に必要なツールが実行できるようインストールしておいたり、
  • #13: Web UIが利用しやすいようにExtensionを追加したくなります。 しかもこれらはどんどんアップデートされていきます。