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

问题描述

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

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

如果有所帮助,我试图在远程服务器上的docker容器中运行我的笔记本(使用VS Code远程ssh登录

编辑:

我也尝试跑步

# https://regex101.com/r/t4M9UB/1 # if($test_string=~ /<R-PORT-PROTOTYPE.*?<short-name>PQR<\/short-name>(?:(?:(?(1)(?!)).*?<V>(.*?)<\/V>.*?<ParaMETER-REF[ ]DEST="ParaMETER-DATA-PROTOTYPE">.*?MNO1<\/ParaMETER-REF>)|(?:(?(2)(?!)).*?<V>(.*?)<\/V>.*?<ParaMETER-REF[ ]DEST="ParaMETER-DATA-PROTOTYPE">.*?MNO2<\/ParaMETER-REF>)){1,2}/gis) <R-PORT-PROTOTYPE .*? <short-name>PQR</short-name> (?: (?: (?(1) (?!) ) .*? <V> ( .*? ) # (1) </V> .*? <ParaMETER-REF [ ] DEST="ParaMETER-DATA-PROTOTYPE"> .*? MNO1</ParaMETER-REF> ) | (?: (?(2) (?!) ) .*? <V> ( .*? ) # (2) </V> .*? <ParaMETER-REF [ ] DEST="ParaMETER-DATA-PROTOTYPE"> .*? MNO2</ParaMETER-REF> ) ){1,2}

在jupyter中,但该单元只是挂起。当我停止单元格时,笔记本电脑仍未在容器中运行。

解决方法

只是遇到了同样的问题。看来您无法从包装箱中直接运行Jupyter。但是this link帮助了我。基本上,您需要的是:

  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 run中公开此端口。

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