web-dev-qa-db-ger.com

Wie man Jupyter-Labor andockt

Ich versuche, das Jupyter Lab zu verwirren, und so versuchte ich, eine Dockerfile wie folgt zu erstellen:

FROM python:3.6

WORKDIR /jup

RUN pip install jupyter -U && pip install jupyterlab

EXPOSE 8888

ENTRYPOINT ["jupyter", "lab"]


und führen Sie die Befehle docker build . -t jupyter und dann docker run jupyter aus. Aber leider bekam ich einen Fehler wie unten

[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


Wie kann ich jupyter lab andocken? [durch das Lösen dieses Fehlers]

6
user7321541

Wenn Sie jupyter lab starten, sollten Sie den --ip-Parameter definieren. Zum Beispiel --ip=0.0.0.0.

Danach haben Sie einen anderen Fehler:

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

Wenn Sie fortfahren möchten, müssen Sie auch --allow-root hinzufügen.

Das letzte Dockerfile ist:

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"]
6
Nickolay

Bei meiner Suche stieß ich auf diese Frage, bevor ich auf den "Read The Docs" -Seiten für Jupyter Docker Stacks einen Verweis auf Jupyter Labs entdeckte (siehe hier ). Die Dokumentation sagt:

JupyterLab ist als Notebook-Erweiterung ab dem Tag c33a7dc0eece vorinstalliert.

und sie schlagen vor, einen Befehl wie:

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

Ich dachte, ich könnte den Verweis genauso gut hier einfügen, falls er für andere nützlich ist. (Bei Docker Hub ist es beispielsweise nicht sofort offensichtlich, dass Jupyter Labs unterstützt wird.)

1
Mark Birbeck

Alternativ zum Erstellen eines eigenen Docker-Image mit JupyterLab können Sie auch das Image ML Workspace verwenden. Der ML Workspace ist ein Open-Source-Web IDE), das Jupyter, JupyterLab, VS Code und viele andere Tools und Bibliotheken zu einem praktischen Docker-Image kombiniert.

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

Alle Tools sind über denselben Port zugänglich und in die Jupyter-Benutzeroberfläche integriert. Weitere Informationen zum Zugriff auf JupyterLab finden Sie hier .

0
Lukas Masuch

entweder laufen 
docker run jupyter --allow-root --ip=0.0.0.0 --port=8888 oder ENTRYPOINT ändern als 
ENTRYPOINT ["jupyter", "lab", "--allow-root","--ip=0.0.0.0", "--no-browser"]

0
JPG