繁体   English   中英

VSCode:如何通过远程服务器在 docker 容器中运行 Jupyter notebook?

[英]VSCode: How to run a Jupyter notebook in a docker container, over a remote server?

我可以使用 docker 扩展,然后右键单击“附加外壳”到正在运行的容器。 但是,我的 Jupyter notebooks 并未在该容器中运行。

我尝试用谷歌搜索如何在 docker 容器中运行 jupyter notebook,但没有得到任何结果。

如果它有所作为,我正在尝试在远程服务器上的 docker 容器中运行我的笔记本(使用 VS Code 远程 ssh 登录)

编辑:

我也试过跑步

!docker exec -ti {container name} bash

在 jupyter 中,但那个单元格只是挂起。 当我停止单元格时,笔记本仍然没有在容器中运行。

2022 年 8 月 31 日更新:原来的方法现在可能会导致 Docker 错误:

standard_init_linux.go:228: exec user process caused: no such file or directory

如果您使用系统 package 而不是从 repo 原始下载,则该问题已修复。 如果是 Ubuntu:

RUN apt-get install tini

rest 是相同的:

RUN chmod +x /usr/bin/tini
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]

刚遇到同样的问题。 看来您无法从开箱即用的容器中运行 Jupyter。 但是这个链接帮助了我。 基本上你需要的是:

  1. 将此添加到您的 dockerfile:
# Add Tini. Tini operates as a process subreaper for jupyter. This prevents kernel crashes.
ENV TINI_VERSION v0.6.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
RUN chmod +x /usr/bin/tini
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]

这将在端口 8888 上的容器内启动 jupyter。所以不要忘记在 docker-compose 或 docker 运行中公开此端口。

这在我的本地 docker 中对我有用。我可以假设对于 SSH docker,您需要在 SSH 从远程连接到本地主机期间转发 8888 端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM