我在本地机器上连接运行在远程服务器docker容器中的jupyter笔记本实例时遇到了问题。
我的操作步骤如下:
1. 我使用
2. 运行
3. 然后使用以下命令启动容器:
4. 现在我正在使用容器中的终端,并启动一个无浏览器的jupyter笔记本实例。
现在我在本地计算机上启动另一个shell,并创建一个ssh隧道:
我的操作步骤如下:
1. 我使用
ssh username@remoteHostIp
命令连接到远程服务器。2. 运行
docker container ls
命令,以确保我的容器尚未运行。3. 然后使用以下命令启动容器:
docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning
4. 现在我正在使用容器中的终端,并启动一个无浏览器的jupyter笔记本实例。
jupyter notebook --no-browser --port=8889 --allow-root
启动成功:
The Jupyter Notebook is running at:
[I 11:14:51.979 NotebookApp] system]:8889/
现在我在本地计算机上启动另一个shell,并创建一个ssh隧道:
ssh -N -f -L localhost:8888:localhost:8889 username@ remote_host_name
几秒钟后,我的shell会返回以下内容:
channel 2: open failed: connect failed: Connection refused
channel 2: open failed: connect failed: Connection refused
channel 2: open failed: connect failed: Connection refused
我无法通过localhost:8888/或localhost:8889/访问jupyter笔记本。
当我在docker容器外的远程服务器上运行jupyter笔记本并创建ssh隧道时,一切正常。
一些附加信息: 远程服务器: 发行版ID:Ubuntu 描述:Ubuntu 16.04.3 LTS 版本:16.04 代号:xenial
我的本地机器运行在OSX Moave上。
jupyter notebook --no-browser --port=8889 --allow-root
。一旦使用了 --ip 0.0.0.0 参数,它就可以正常工作了。jupyter notebook --ip 0.0.0.0 --port=8889 --allow-root
。 - Shubham