PR

jupyter notebookの入ったdocker composeどうすればいいのか問題

jupyter notebookの入ったDockerComposeとdockerfileとpythonファイルをもらい、dockerで環境構築してみて、という話になるも、jupyternotebookもdockerもpythonも分からず、つまり何も分からず、起動に向けて自分の整理がてらまとめた忘備録です。

立プロ

新卒でメーカーに入り、10年間組み込みの現場で設計を行う。
今は個人事業主として自作の組み込み機器開発や、エージェント様に紹介いただき業務委託を行っています。
C,C#,JavaScript, Vue, PHP, VBA, GAS, Kotlinなど、扱う言語が増えゆく日々。

立プロをフォローする

docker

dockerはコンテナと呼ばれる仮想環境をホストマシン上に作って、処理させることができる仕組みです。

virtualboxのような従来のハイパーバイザだと、メモリを確保して別OSの空間を作ってやる必要がありましたが、dockerだと別OS不要で動作が軽いです。

また、コンテナはイメージから生成され、イメージはdockerfileからビルド生成します。

このため、dockerfileを誰かと共有することで同じ開発環境を直ちに作ることができるのも利点。

dockerの取り扱いはは別記事でまとめました。dockerが初めての人はまずこちらから。

dockerインストール→hello_worldをdockerで実行させます。

dockerfileはコンテナの環境設定を書いているテキストファイルで、これを基にコンテナイメージを生成し、startでコンテナを起動させる、という動きです。

docker compose

さて、docker composeとは複数のコンテナを同時に操作するためのツール。

docker-compose up

上記コマンドで関係するコンテナが起動する。

このdocker composeファイルにjupyter notebookの記載がある。

jupyter notebookとは、webブラウザ上でpythonを実行するためのツール。

こちらの記事を参考にさせていただき、起動を試みます。

Jupyter notebookをdockerコンテナで起動してホストのブラウザから使えるようにする
//コンテナを起動、-dオプションをつけることでバッググラウンド動作=ターミナルの継続使用可
$ docker-compose up -d 

//statusがupとなり、起動していることを確認する
$ docker-compose ps 

//コンテナに入る、コンテナに対してコマンド実行するために必要
//appがコンテナ名、dockercomposeにて定義されている。
//bashがコンテナに入るためのコマンド
$ docker-compose exec app bash

//jupyter notebookを起動
//port番号等はdockercomposeの中身を確認すること
$ jupyter notebook --port=8888 --ip=0.0.0.0 --allow-root --NotebookApp.token=''

下記のような返事があればOK

・
・
・
[I 05:28:49.788 NotebookApp] Serving notebooks from local directory: /app
[I 05:28:49.788 NotebookApp] Jupyter Notebook 6.5.6 is running at:
[I 05:28:49.788 NotebookApp] http://488eb29fbb03:8890/
[I 05:28:49.788 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 05:28:49.793 NotebookApp] No web browser found: could not locate runnable browser.

jupyter notebook

jupyter notebookが起動したら、ブラウザでhttp://localhost:8888を入力して表示する。

コメント

タイトルとURLをコピーしました