问题描述
我可以使用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帮助了我。基本上,您需要的是:
- 将此添加到您的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端口。