web-dev-qa-db-ja.com

Jupyterラボをドッキングする方法

Jupyter Lab をドッキングしようとしているので、以下のようにDockerfileを作成しようとしました。

FROM python:3.6

WORKDIR /jup

RUN pip install jupyter -U && pip install jupyterlab

EXPOSE 8888

ENTRYPOINT ["jupyter", "lab"]


コマンドを実行し、docker build . -t jupyterその後docker run jupyter。しかし、残念ながら次のようなエラーが発生しました

[I 07:56:34.123 LabApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-lab", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python3.6/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/notebook/notebookapp.py", line 1507, in initialize
    self.init_webapp()
  File "/usr/local/lib/python3.6/site-packages/notebook/notebookapp.py", line 1297, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/usr/local/lib/python3.6/site-packages/tornado/tcpserver.py", line 142, in listen
    sockets = bind_sockets(port, address=address)
  File "/usr/local/lib/python3.6/site-packages/tornado/netutil.py", line 197, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address


どうすればドッキングできますかjupyter lab? [このエラーを解決することにより]

10
user7321541

jupyter labを開始するときは、--ipパラメーターを定義する必要があります。たとえば、--ip=0.0.0.0

この後、別のエラーが発生します:

[C 08:14:56.973 LabApp] Running as root is not recommended. Use --allow-root to bypass.

したがって、続行する場合は、--allow-rootも追加する必要があります。

最後のDockerfileは次のとおりです。

FROM python:3.6

WORKDIR /jup

RUN pip install jupyter -U && pip install jupyterlab

EXPOSE 8888

ENTRYPOINT ["jupyter", "lab","--ip=0.0.0.0","--allow-root"]
11
Nickolay

Jupyter Docker Stacksの「Read The Docs」ページでJupyter Labsへの参照を見つける前に、この質問に出くわしました( here を参照)。ドキュメントには次のように書かれています:

JupyterLabは、c33a7dc0eeceタグで始まるノートブック拡張機能としてプリインストールされています。

そして、彼らは次のようなコマンドを使用することを提案します:

docker run -it --rm -p 8888:8888 jupyter/datascience-notebook start.sh jupyter lab

他の人に役立つ場合は、ここに参照を追加することも考えました。 (たとえば、Docker HubでJupyter Labsがサポートされていることはすぐにはわかりません。)

2
Mark Birbeck

JupyterLabで独自のDockerイメージを構築する代わりに、 ML Workspace イメージを使用することもできます。 MLワークスペースは、オープンソースのWeb IDEです。これは、Jupyter、JupyterLab、VS Code、および他の多くのツールとライブラリを1つの便利なDockerイメージに結合します。

docker run -p 8080:8080 mltooling/ml-workspace:latest

すべてのツールは同じポートからアクセス可能で、Jupyter UIに統合されています。 JupyterLab here にアクセスする方法の詳細を確認できます。

0
Lukas Masuch

走るか
docker run jupyter --allow-root --ip=0.0.0.0 --port=8888またはENTRYPOINTを次のように変更します
ENTRYPOINT ["jupyter", "lab", "--allow-root","--ip=0.0.0.0", "--no-browser"]

0
JPG