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]
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"]
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.)
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 .
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"]