我一直在尝试将Spyder连接到在远程服务器上运行的docker容器,但一次又一次地失败。这是我试图实现的简要示意图:
目前,我通过ssh在远程机器上启动docker容器:
docker run --runtime=nvidia -it --rm --shm-size=2g -v /home/timo/storage:/storage -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group --ulimit memlock=-1 -p 8888:8888 --ipc=host ufoym/deepo:all-jupyter
所以我正在转发端口8888。然后在Docker容器内运行。
jupyter notebook --no-browser --ip=0.0.0.0 --port=8888 --allow-root --notebook-dir='/storage'
好的,现在是关于Spyder的部分 - 根据这里的说明,我进入~/.local/share/jupyter/runtime
文件夹,在那里我找到以下文件:
kernel-ada17ae4-e8c3-4e17-9f8f-1c029c56b4f0.json nbserver-11-open.html nbserver-21-open.html notebook_cookie_secret
kernel-e81bc397-05b5-4710-89b6-2aa2adab5f9c.json nbserver-11.json nbserver-21.json
由于不知道该选择哪个文件,我将它们全部复制到了本地机器上。
现在,我转到“控制台->连接到现有内核”,这会给我一个“连接到现有内核”的窗口,我按以下方式填写(当然要使用我的实际远程IP地址):
(这里我选择了Connection info:
的第一个json文件)。我按回车键,Spyder变暗并崩溃了。
无论我选择哪个连接信息文件,都会发生这种情况。所以,我的问题是:
1:我是否做得正确?我发现有很多关于如何连接到远程服务器的说明,但迄今为止还没有特别针对连接到远程服务器上的docker上的jupyter笔记本电脑。
2:如果是的话,还能做什么来解决我遇到的问题?
我还应该注意到,我在本地机器上通过浏览器连接到Jupyter Notebook没有任何问题。只是我更喜欢将Spyder作为我的IDE。
非常感谢提前!